Programación por coincidencia

-
El soldado y las minas


No hay indicios de que se trata de un campo de minas, no hay señales, alambre de púas, o cráteres.

El soldado se asoma al suelo con su bayoneta y se estremece, esperando una explosión. Y no es explota. Así que procede a avanzar cuidadosamente a través del campo por un tiempo. Finalmente, convencido de que el campo es seguro, se endereza y marcha hacia adelante con orgullo, sólo para ser volado en pedazos. :(

La primera mina no reveló nada, solo fue suerte. Fue llevado a una conclusión falsa, con resultados desastrosos.
Como desarrolladores, también trabajamos en los campos de minas. Hay cientos de trampas esperando para sorprendernos cada día. Recuerde el relato del soldado, que debe ser
cuidadoso de sacar conclusiones falsas.
Debemos evitar la programación por coincidencia, confiar en la suerte y éxitos accidentales.


¿Cómo programar deliberadamente?


• • Siempre estar consciente de lo que se está haciendo. No dejar que las cosas se nos pase poco a poco de las manos, hasta que terminemos cocidos como la rana hervida.

• • No codifique con los ojos vendados. El intento de construir una aplicación que no entiende completamente, o para usar una tecnología que no está familiarizado, es una invitación a dejarse engañar por las coincidencias.

• • Proceda de un plan, ya que el plan está en su cabeza, en la parte de atrás de una servilleta de papel, en una pizarra, en la pared, etc.

• • Confíe sólo en las cosas confiables. No dependa de accidentes o de supuestos. Si usted no puede decir la diferencia, en particular, o circunstancias. Suponer es lo peor.

• • Documente sus suposiciones, lo puede ayudar a aclarar sus supuestos en su propia mente, así como ayudar a comunicárselo a los demás.

• • No se limite a probar el código, sino probar su hipótesis.
No trate de adivinar, si en realidad no lo a intentado.

• • Dar prioridad a su esfuerzo. Pase más tiempo en los aspectos importantes.
Es muy probable que sean las partes más duras.

• • No seas un esclavo de la historia. No deje que el código existente dicte el futuro de tu código. Todo el código puede ser reemplazado si ya no es apropiado. Incluso dentro de un programa, no deje que lo que has hecho ya, limite lo que próximamente esté listo para refactorizar.
Estas decisiones pueden influir en la programación del proyecto. El supuesto es que el impacto será menor que el costo de no hacer el cambio.

Fuente : The Pragmatic Programmer From Journeyman to Master

Comentarios