Clean Code – #5. Las funciones sin verbo las carga el diablo 👺

Las funciones realizan una o más acciones sobre nuestro código, por lo que tiene sentido que se utilice un verbo para nombrarlas.

Sí, lo dice Ada:

“Si no lleva un verbo no es una función”.

Ada Lovecode

¿Pero hasta qué punto podemos extendernos en el nombre de una función?

Te pongo varios ejemplos de una misma función que crea un usuario:

  • nUsuario.
  • nuevoUsuario.
  • crearUsuarioSiFormularioCorrecto.
  • creaUsuario.
  • crearUsuario.

¿Cuál de todas crees que es más adecuada? Si te quedas con la última estás de enhorabuena 😊

  • nUsuario: es demasiado ambigua. ¿Qué significa esa n?
  • nuevoUsuario: no denota esa acción. Es un nombre más propio de un objeto usuario.
  • crearUsuarioSiFormularioCorrecto: es demasiado largo y, sobre todo, innecesario.
  • creaUsuario: casi, casi. Usemos mejor un verbo en infinitivo.
  • crearUsuario: ¡buena elección!

Veamos algunos ejemplos mejorables.

Aquí Alex nos deja un nombre casi perfecto. Si hubiera añadido “Socio” al final lo habría bordado:

Función insertarFinal

¿Y qué me decís de este código de Imanol? Mucho mejor utilizar “Reiniciar”:

función reinicio

Otro par de ejemplos de nuestro compañero Asier:

El primero, una elección no muy acertada de nombre de función que no deja entrever exactamente qué es lo que hace.

función atrPersonaje

Y por aquí una elección perfecta: descubrirCarta

función descubrirCarta

¡Es tu turno! ¿Cómo nombrarías una función que…?

  • Borra un personaje que está al final de un array?
  • Actualiza el valor del atributo “nombre” de un objeto Superheroina.
  • Muestra en una cadena el nombre y apellidos de una persona.
  • Comprueba si un array que le pasamos por parámetro está vacío.

¡Ya sabes! Deja un comentario en la lección y cuéntame, o comparte alguno de tus códigos y ponlo a prueba!

Publica un comentario

Deja un comentario