9. Consejos
• Fácil de pronunciar
• Que se pueda buscar con facilidad
• Nombres largos, pero cuidado si el nombre es muy largo (Code Smell)
• Nombra los métodos por lo que hacen y los efectos que generan.
• Evita negar los nombres de las variables (NotOpen, IsNotReady…)
• Evitar números(item1, item2, item3)
• …
10.
11. Customer[] customerList;
Customer[] customers;
var theCustomersListWithAllCustomersIncludedWithoutFilter
var allCustomers;
int days=3; //elapsed time in days
Int elapsedTimeInDays=3;
if(!notFound)
DateTime genymdhms
DateTime generationTimestamp
* Frameworks
Código comentado como repositorio de código fuente. Por si lo necesito
Evitar comentarios en código. Legilibilidad y mantenimiento.
Evitar palabras muy genéricas en nombres de clases Manager, Object, Data, Handler…
ConnectionManager, UrlManager, DomainManager??? Tu que vendes, de todo… ConnectionPoll, UrlBuilder, UrlAuditor…
Helpers, Utils... Pueden convertirse en contenedores de todo.
Para funciones asíncronas siempre terminar el sufijo Async
MetodoQueQueActualizaCuentasBancariasYGeneraFicherosDeAsientosContablesYLoExportaAExcel
Los nombres negativos son mas dificiles de leer
Nombres no descriptivos hacen que tengamos que leer todo el método
Una variable debe poder ser buscada sin dificultad en una clase si la llamamos j no vamos a conseguir ese efecto.
customerList es un array o una colección de clientes pero no es una lista.
Un buen nombre contiene las palabras necesarias para expresar un concepto pero no más de las necesarias.
Si no puedes pronunciar algo no puedes discutir sobre ello
No seamos excesivamente simpáticos escribiendo los nombres
customerList es un array o una colección de clientes pero no es una lista.
Un buen nombre contiene las palabras necesarias para expresar un concepto pero no más de las necesarias.
Si no puedes pronunciar algo no puedes discutir sobre ello
No seamos excesivamente simpáticos escribiendo los nombres
Las funciones deben ser como los hombres, solo pueden hacer una cosa.
Flags en funciones
Cuidado con los nombres, por ejemplo And, Or… da signos de que la función hace 2 cosas.
File.Copy
No más de 2 parámetros.
Más de 3, refactorizar y engloba parámetros en clases:
public AddPushPin(Uri image, doublé x, doublé y) -> public AddPushPin(Uri image, Point point)