DEV Community

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

Posted on • Edited 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)