PrincipiosDRY, KISS y YAGNI

Ago 11, 2021
admin

Estos son tres principios que todo desarrollador debería cuidar, porque se trata de código limpio. En este artículo vamos a entender qué significa cada uno de ellos.

Principio DRY

DRY significa Don’t Repeat Yourself. En el libro ‘The Pragmatic Programmer’, podemos ver esta definición para DRY:

Cada pieza de conocimiento debe tener una representación única, inequívoca y autorizada dentro de un sistema.

Esto significa que no debes tener código duplicado. Es más fácil mantener un código que sólo está en un lugar, porque si necesitas cambiar algo en el código, sólo tienes que cambiar en un lugar. Además de eso, si tienes el mismo código en dos o más lugares, la posibilidad de que este código se vuelva diferente durante el tiempo es alta, y cuando esto sucede se convertirá en una forma fácil de introducir errores en tu sistema. El código duplicado también hace que el código sea más complejo e innecesariamente más grande.

Tampoco deberías escribir código ambiguo. Tus clases, tus variables, tus funciones, deben tener un nombre específico, y su nombre debe coincidir con su responsabilidad. Si tienes una función, deberías saber lo que hace la función con sólo leer su nombre, sin que sea necesario leer el código dentro de ella.

En el libro ‘The Pragmatic Programmer’ también podemos ver que:

DRY trata de la duplicación del conocimiento, de la intención. Se trata de expresar
la misma cosa en dos lugares diferentes, posiblemente de dos maneras totalmente diferentes

Significa que no se trata sólo de copiar y pegar código -sí, esto también está incluido- sino que va más allá. También se trata de tener un código diferente que haga lo mismo. Tal vez usted puede tener código diferente en dos o más lugares, pero hacen la misma cosa de diferentes maneras, esto también debe ser evitado.

Principio KISS

KISS es un acrónimo de Keep It Simple, Stupid. Este principio dice acerca de hacer su código simple. Debes evitar la complejidad innecesaria. Un código simple es más fácil de mantener y más fácil de entender.

Puedes aplicar este principio en el diseño y en la implementación del código. Deberías eliminar el código duplicado, deberías eliminar las funciones innecesarias, no utilizar variables y métodos innecesarios, utilizar nombres para las variables y los métodos que tengan sentido y coincidan con sus responsabilidades, y siempre que sea posible, seguir los estándares conocidos de desarrollo de código. También debes separar las responsabilidades de tus clases y las responsabilidades de las capas del proyecto.

A veces no necesitas implementar algo nuevo para atender tus necesidades, puedes simplemente hacer uso de las características del lenguaje de programación que estás utilizando. Para ello, es bueno que conozcas las características del lenguaje de programación con el que estás trabajando.

Si estás trabajando en un código que ya está implementado, y ves algo que no es necesario o que podría ser más simple, deberías considerar refactorizarlo.

Principio YAGNI

YAGNI significa You Ain’t Gonna Need It. Es un principio de la metodología de desarrollo de software de Extreme Programming (XP). Este principio dice que no se deben crear características que no sean realmente necesarias.

Este principio es similar al principio KISS, una vez que ambos buscan una solución más simple. La diferencia entre ellos es que YAGNI se centra en la eliminación de la funcionalidad y la lógica innecesaria, y KISS se centra en la complejidad.

Ron Jeffries, uno de los cofundadores del XP, dijo una vez:

Implementa siempre las cosas cuando realmente las necesites, nunca cuando sólo preveas que las necesitas.

Significa que no debes implementar una funcionalidad sólo porque pienses que algún día la vas a necesitar, sino que debes implementarla justo cuando realmente la necesites. Haciendo esto evitarás gastar tiempo con implementaciones que ni siquiera eran necesarias, y que quizás nunca se usen.

Conclusión

Seguir estos principios, te permitirá escribir mejor código. Recuerda que un código limpio es más fácil de main, más fácil de entender y seguro que te ahorrará tiempo cuando tengas que cambiar o implementar algo. Evite el uso de código duplicado, trate de mantener su código lo más simple posible, y sólo implemente características cuando sea realmente necesario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.