Acrónimofilia: KISS, DRY, OAOO y YAGNI
22/04/2008Es por todos los desarrolladores conocida la acrónimofilia del sector. Pero como suele pasar, los desarrolladores sajones nos llevan cierta ventaja en esto también. Pondré y explicaré cuatro ejemplos, que desde mi punto de vista son claves para todo desarrollo.
![]()
KISS (Keep It Simple, Stupid!)
A veces llamado simplemente KIS, para no resultar tan faltón. Dicta la necesidad de mantener el software lo más sencillo posible, en todos sus aspectos. Diseños gráficos demasiado cargados, demasiadas funcionalidades en una vista, estructuras demasiado complejas o funciones demasiado largas suelen ser aspectos que actúan negativamente sobre el resultado del producto. Los abanderados de este concepto son los Backstreet Boys del desarrollo, los chicos de 37signals (viene al caso este sensacionalista artículo en Wired).
Más información en la Wikipedia
DRY (Don’t Repeat Yourself) y OAOO (Once And Only Once)
Dos conceptos muy ligados, que profesan lo mismo pero aplicándolo a dos aspectos del desarrollo. Ambos dictan la unicidad de lo que se ha de crear, pero mientras que el primero lo hace sobre la información del desarrollo, el segundo lo hace sobre el código.
DRY dicta que la información no debe repetirse. El término fué acuñado por Andy Hunt y Dave Thomas en su libro The Pragmatic Programmer. Aplican el termino sobre los scripts de despliegue, los esquemas de bases de datos los planes de pruebas e, incluso, sobre la documentación del sistema.
OAOO hace lo mismo pero con el código. el código necesario para hacer una acción concreta deba aparecer solo una vez en el sistema.
Más información en la Wikipedia
YAGNI (You Ain’t Gonna Need It)
Termino muy interesante. Aconseja a los programadores que no añadan al sistema funcionalidad no necesaria. Es una práctica común la de añadir a nuestro código funciones o clases no necesarias bajo el pretexto de que probablemente lo serán. Ejemplos muy comunes de ellos se dan en el acceso a datos, es muy común crear funciones para la selección, creación, modificación y eliminación sin ser necesarias. Esto no es recomendable porque aumenta el tamaño y complejidad del código y porque nuestro código no será conocido por el resto de desarrolladores, por lo que es posible que creen otro para la misma funcionalidad.
Más información en la Wikipedia
No hay comentarios aún.