Siempre he pensado que los buenos programadores, en el momento de desarrollar su trabajo siguen unos principios. Unos principios que, al final del proceso, crean la diferencia entre una aplicación bien programada y una aplicación mal programada. En este artÃculo, me gustarÃa mostraros dos de estos principios que admiro ver plasmados cuando me toca bucear entre lÃneas de código fuente heredadas:
- El principio BESO (o principio KISS): KISS es un acrónimo que recibe diversos significados dependiendo de lo quemado que estés. Si delante tuyo tienes una aplicación que puedes entender y está bien programada podrÃas pensar en este principio como: Keep It Simple, Smart. En cambio, si te enfrentas a un código que precisamente no lo sigue es muy probable que primero te acuerdes de la madre del que desarrolló ese código y después te preguntes porque ese programador no lo siguió. En tu mente traducirás el principio como: Keep It Simple, Stupid! que también se ajusta a las siglas…
- El principio SECO (o principio DRY): Los programadores que siguen este principio también son dignos de admiración. Su significado viene a ser algo asà como: Don’t Repeat Yourself (No te repitas). Es decir, no dupliques partes de tu código fuente. Es inútil y te crea problemas para mantener posteriormente la aplicación.
Y hasta aquà mis dos principios favoritos en el mundo de la programación. ¿Cuáles son los tuyos? ¿AñadirÃas algún otro?
A mà KISS me gusta mucho, pero me quedo con DYV: Divide y Vencerás. En muchas ocasiones, el bosque son cientos de ramitas.
http://es.wikipedia.org/wiki/Algoritmo_divide_y_vencer%C3%A1s
De hecho, es un principio de base de la llamada Web 2.0: reutilizar otros servicios sin ningún lÃmite y construir pequeñas piezas de software que luego se puedan pegar en otros sitios (plugins, addins, web services, llámalo como quieras).
Anda,
Mira lo que me he encontrado en Google buscando el principio KISS:
http://tochismochis.blogspot.com/2005/11/principio-kiss-keep-it-simple-stupid.html
je je
Si, divide y vencerás es un clásico de la programación. En cuanto a lo que dices de la base de la llamada Web 2.0 tengo la impresión de que es más un «divide y dependerás» que un «divide y vencerás» ya que más que vencer lo que consigues es depender de una serie de API’s sobre las que no tienes control. Esto no quita que el depender de terceros tenga múltiples ventajas (no reinventar la rueda, poder utilizar servicios que tu sólo no podrÃas desarrollar,…).
Un saludo!
No se yo si esta bien, esto de que la gente plagie los artÃculos de un blog a otro, encima haga un artÃculo peor y no cite el original: http://geeks.ms/blogs/rcorral/archive/2006/10/05/Grandes-principios-del-desarrollo-de-Software.aspx
De todos modos mi amigo Rodrigo estará contento, cuando a uno le empiezan a plagiar es por que dice algo interesante.