Java SE 8 viene con un nuevo mecanismo de fechas, la introducción LocalDate, LocalTimey LocalDateTimeclases para representar instantes de tiempo. Para manipular esos instantes, se dan una serie de métodos: LocalDate.plusDays(...), LocalDate.minusDays(...)y así sucesivamente.
Siempre he pensado que una buena práctica era nombrar métodos después de los verbos que describen su propósito, ya que los métodos son, en realidad, operaciones a ejecutar, algo que realizará una acción. Solo por mencionar, si se tiene en cuenta las clases como StringBuilder, por ejemplo, los nombres de los métodos son append, insert, delete...
Es por eso que para mí no suena bien nombrar un método en plusDayslugar de sumDays, en minusDayslugar de subtractDays. ¿Solo a mí me resulta muy molesto? ¿Qué piensas?
La única razón por la que puedo pensar es que las fechas son objetos inmutables, por lo que al llamar plusDaysno agrega días al objeto original, sino que crea uno nuevo con nuevas propiedades, pero eso es muy sutil.
sqrtes solo una palabra que los programadores deben reconocer y conocer. La palabra inglesa es "raíz cuadrada" por cierto. Pero nombrar las cosas según lo que es natural en inglés no es bueno. Tome la palabra "ilícito", por ejemplo, una palabra inglesa perfectamente buena. Sin embargo, si alguien nombra su método, digamos isIllicitque creo que me gustaría arrancarme los globos oculares cada vez que mirara esta llamada al método. Simplemente se ve horrible y tiene que haber una mejor manera de expresar la idea.
sumSuena mal en este contexto. Prefiero .net's AddDays.
Math.addExact(1, 2)porque dices "suma 1 y 2". tomorrow.plusDays(2)porque dices "mañana más 2 días". Si addExactfuera miembro de Integeralguna manera lo hubiera sido 1.plusExact(2).
plusDaysdevolver una nueva fecha x número de días en el futuro, mientras addDaysque podría esperar mutar el objeto original. Sin embargo, solo soy yo, no estoy tan familiarizado con Java.
sqrtque toma la raíz cuadrada. Nombrar este métodotakeSqrtpuede parecer tener sentido de acuerdo con su regla, pero nombrarlo no hará que el método sea más legible ni lo aclarará.