Clean Code – #3. Eligiendo nombres para nuestros bebés 👶🏼

Si hay algo que trae de cabeza a un alguien es el nombre que le va a poner a su hijo o hija al nacer.

Que sea bonito. Eso lo primero.

Y original. No vaya a ser que tenga compañeros de clase que se llamen igual.

A ser posible que sea fácil de pronunciar y escribir. Para que los abuelos no se líen.

Y que signifique algo evocador, con historia.

¿Por qué no hacemos lo mismo con los nombres de nuestras variables y funciones? ¿¡Por qué!?

Veamos algunos nombres de variables y funciones:

  • a
  • persona
  • fFinPdUser
  • compra


¿Qué te sugieren? ¿Crees que son intuitivos? Espero que al final del correo puedas sacar tus propias conclusiones. ¡Te pondré a prueba! 😉

¿Cuándo nombramos mal?

  • Cuando usamos nombres con una letra, que además de poco intuitivos son difíciles de buscar.
  • Cuando el nombre no indica las intenciones por las que lo hemos elegido.
  • Cuando usamos verbos para nombres de clases.
  • Cuando no usamos verbos para nombres de funciones.
  • Cuando no puede leerse o pronunciarse fácilmente.

Veamos ahora algunos ejemplos.

Asier nos dejó un bucle cuyo índice es la letra v. Si bien es habitual utilizar una letra para recorrer las posiciones de un array, lo normal es hacerlo con la i (de iterator). ¿Por qué v? (No, no ha utilizado previamente la i). En este caso, mejor utilizar lo estándar.

Bucle con letra v

Aquí Alex creó varias variables llamadas nuevo, nombre y biblioteca. Si nos referimos a socios, aunque estemos trabajando localmente, sería más correcto nombrarlos como nuevoSocio, nombreSocio e incluso bibliotecaSocio

Función insertarFinal

Por aquí tenemos a Sara, que eligió unos nombres un tanto genéricos:

Nombres genéricos

En este ejemplo tenemos de nuevo a Asier, que crea una variable llamada atrPersonajeElegido y llama a una función ocultarPers. ¿Qué significa atr? ¿Y Pers? Me dirás que evidentemente “atributo” y “personaje”. Y así es.

Función atrPersonaje

Pero en un supuesto caso en que debo buscar en mi código una función que trabaja con el personaje, ¿cómo lo hago? Porque si escribo “Personaje” no encontraría “ocultarPers”, y si busco por “atributo” tampoco. Es conveniente que haya consistencia a la hora de nombrar para evitar problemas 😉

¿Te ha quedado claro? Te pongo a prueba:

¿Cómo nombrarías tú…?

  • Una variable para recorrer una lista de objetos.
  • Una fecha de una factura.
  • La fecha de inicio del plazo de matriculación.

¡Responde a esta lección y cuéntame, o comparte alguno de tus códigos y ponlo a prueba!

Publica un comentario

Deja un comentario