"Expresa la lógica con verbos." ✍🏼 Cualquier lector

🌄 Objetivo: Claridad

Desarrollamos programas para procesar datos, para manipularlos de alguna manera, aunque sólo sea almacenarlos para recuperarlos mas tarde. Esas son las acciones que nos encomiendan a los desarrolladores profesionales: guarda, recupera y manipula esta información.

Mostrar la INTENCIÓN

Así que los programadores profesionales hacemos lo que nos dicen y trasladamos esos deseos humanos a órdenes procesables. Pero de tal forma que la intención de los programadores quede meridianamente clara.

🏭 Explica lo que vas a hacer.

Para trabajar con las variables creadas emplearemos instrucciones. Según el lenguaje y paradigma usados las agruparemos en bloques lógicos que pueden llamarse, procedimientos, métodos, rutinas o funciones.

Lo importante es el nombre que le damos esos bloques. Porque será ahí dónde mostremos nuestra intención al escribir instrucciones para el ordenador.

Una responsabilidad fundamental al programar es nombrar extraordinariamente bien las funciones, métodos, o procedimientos de tus desarrollos. Sin excusas.

¿Y qué significa hacerlo bien? Pues consiste en dar un verbo que explique claramente lo que se va a realizar en cada caso. Para que esto no se quede en una guía de buenas intenciones, tengo al intención de darte unos consejos que te sirvan de guía.

Guía para nombrar funciones / métodos / rutinas / procedimientos

👮 Obligatorio emplear siempre verbos que indiquen una acción.

// 🤢 qué hace este método?
order.client(client);// 🍋  al comenzar por un verbo queda claro
order.setClient(client);

📜 Para que se lea como una historia.

// 🤢 Evita las abreviaturas:const client = clients.new(name, taxId);
order.client(client);// 🍋 Usa siempre su versión completaconst client = clients.create(name, taxId);
order.setClient(client);

🚩 Cortos y concretos en flags

is, has, can, must

// 🤢 esto no es agradable de leerif (client.pendingOrders()) {}// 🍋 facilita la lectura de las condicionesif (client.hasPendingOrders()) {}

👮 Define listas permitidas para acciones comunes

  • Vocabulario para relaciones y acciones.
  • Define listas permitidas para acciones comunes.
  • get | set - read | write - select | insert
// 🤢 no mezcles
clients.select();
clients.post();
orders.read();// 🍋 usa simpre el mismo tipo de verbos
clients.select();
clients.insert();
orders.select();

🎀 Clarifica añadiendo sustantivos, adverbios o preposiciones.

// 🤢 Evita las sobrecargas:const client = clients.select(name);const client = clients.select(name, country);// 🍋 No te cobran por caracterconst client = clients.selectByName(name);const client = clients.selectByNameAndCountry(name, country);

💭 Piensa en mi

😲 No me sorprendas

🤔 No me hagas pensar