DEV Community

Cover image for Cap V: Atreverse a eliminar lo implementado, El libro negro del programador. 馃捇
Cristian Fernando
Cristian Fernando

Posted on • Updated on

Cap V: Atreverse a eliminar lo implementado, El libro negro del programador. 馃捇

Atreverse a eliminar lo implementado

  • El software es por defecto incremental, siempre hay o habr谩 mejoras que hacerle o nuevos requerimientos que implementar.

  • La analog铆a del pintor:
    Una persona pide a un pintor que le haga un cuadro en base a ciertas caracter铆sticas poco claras, entonces el pintor decide hacer un boceto como borrador. Ante el primer borrador el cliente no queda satisfecho y hace correcciones; el pintor hace un nuevo lienzo intentando plasmar la idea del cliente y nuevamente se hacen otras correcciones. A la tercera correcci贸n lo que pide el cliente y lo que entrega el pintor reci茅n se empieza a parecer.
    El primer boceto y el tercero no se parecen en nada, pero a medida que m谩s correcciones se hac铆an m谩s cerca del producto que de verdad quer铆a el cliente estamos.

ima

  • Podemos decir entonces que: Los clientes no saben que es lo que quieren y con el tiempo y las correcciones nos acercamos m谩s al producto final que desea.

  • Programar casi siempre es un ejercicio de destrucci贸n, donde buscamos la mejor soluci贸n a un problema que tambi茅n puede cambiar en el tiempo.

  • A medida que el software se vuelve m谩s complejo y se introducen nuevas caracter铆sticas no podemos dar cuenta que el dise帽o inicial no encaja con el producto que se quiere construir.

  • Por naturaleza el software tiende a deteriorarse, esto tiene que ver mucho con la entrop铆a, siempre hay nuevas tecnolog铆as mejoradas que pueden dejar desactualizado a un proyecto cuyo mantenimiento no sea el adecuado.

  • Una regla fundamental del software profesional es que tiene que permitir dedicar menos esfuerzo a mantenimiento que a incorporar nuevas y mejores caracter铆sticas.

  • Si es cambiar o desechar piezas de c贸digo mejoraran el software, debemos hacerlo dejando a un lado las emociones que conllevan tirar algo que nos llev贸 tiempo y esfuerzo construir.

  • Un programador profesional tiene sumido en su ADN que no se puede desarrollar software sin respaldo de test automatizados.

  • De igual manera que el proyecto crezca, lo deben hacer tambi茅n las pruebas.

  • Un desarrollador de software profesional no duda en eliminar lo que sea necesario siempre que vaya a ser sustituido por una idea mejor que a帽ada simplicidad, mejor dise帽o o mayor legibilidad a la soluci贸n.

  • Destruimos para construir.

  • Eliminar c贸digo que funciona pero un fin mayor es como dar un paso atr谩s para dar tres pasos adelante.

  • El desarrollo de software es una tarea incremental en la que en cada paso vamos a帽adiendo una funcionalidad adaptando lo que ya tenemos para acomodarlo a los nuevos requerimientos.

  • No basta con crear solamente algo que funcione, debemos encontrar la soluci贸n m谩s simple y con el mejor dise帽o.

  • Modificar significa en ocasiones tirar a la basura piezas de c贸digo enteras, quiz谩 porque encontramos una mejor soluci贸n, o por que no se entendieron bien los requerimientos iniciales.

  • Volver a escribir c贸digo desde cero a veces significa ahorrarnos mucho tiempo en el futuro del proyecto.


Te dejo el link gratuito de El libro negro de programador por si te intesa leerlo, o dale click a la imagen:

libro

Top comments (0)