Funciones

Las funciones son los bloques básicos de todo código, por lo cual es necesario establecer ciertas reglas para mejorar su escritura y uso.

Si bien aquí nos referimos a funciones, estas reglas pueden aplicarse a métodos, clases o a cualquier bloque de código reutilizable que encapsule alguna lógica.

Baja longitud

Las funciones deberían ser concisas y mantener una longitud baja. Si una función es muy larga, probablemente esté haciendo demasiadas cosas y deberías reconsiderar su diseño.

Responsabilidad única

Relacionado con lo anterior, una función debería hacer una sola cosa y hacerla bien. Si una función hace más de una cosa, es probable que sea difícil de entender y de mantener. Se debe procurar que si una función hace más de una cosa, se evalúe dividirla en funciones más pequeñas.

Argumentos acotados

Una función no debería tener más de 3 o 4 argumentos. Si una función tiene más argumentos, es probable que esté haciendo demasiadas cosas. Si necesitas pasar muchos argumentos, considera si puedes encapsularlos en un objeto.

Sin efectos secundarios

Una función no debería tener efectos secundarios. Esto significa que no debería modificar variables fuera de su alcance, ni modificar el estado de la aplicación. Si una función modifica variables fuera de su alcance, es probable que sea difícil de entender y de mantener.

Flags

Evita usar flags como argumentos para funciones. Los flags hacen que una función haga más de una cosa, lo cual va en contra de la regla de responsabilidad única.