Hace 8 años | Por --485930-- a exceptionnotfound.net
Publicado hace 8 años por --485930-- a exceptionnotfound.net

De la navaja de Occam a la ley de la trivialidad de Parkinson, vamos a discutir algunos de las recomendaciones y citar más útiles en el mundo del desarrollo de software.

Comentarios

D

Uno de los grandes enemigos es la complejidad.

A medida que crece el código, éste se vuelve complejo, al hacer las cosas mal, el código se vuelve complejo, al interactuar muchas cosas, el código se vuelve complejo, al dejar de trabajar en un código durante mucho tiempo, el código se vuelve complejo. Hay miles de formas por las que el código se vuelve complejo. Así que una de las cosas fundamentales del desarrollo del software es evitar la complejidad.

Leyes fundamentales para evitar la complejidad en el software:

. El código debe ser simple
. El código debe ser legible
. El código debe ser fácil de entender (por un ser humano diferente al que lo escribió)
. Debe ser fácil de explicar lo que hace cada porción del código, cada procedimiento, cada módulo, cada programa, y cómo interactúan ellos
. El código debe ser fácil de modificar
. El código debe ser fácil de depurar. Debe ser fácil encontrar errores y corregirlos.
. El código debe estar bien organizado. Cada cosa debe ir en el lugar que le corresponde
. Debe ser fácil sacar componentes de un proyecto para adaptarlos a otros proyectos
. Debe ser fácil incorporar componentes o código de otro proyecto
. Las funciones y los procedimientos deben ser simples, y hacer una sola cosa, y bien hecha
. Las funciones deben ser cortas en tamaño. Si son muy largas, deben dividirse en otros procedimientos, y cada uno de ellos debe ir en el lugar correcto
. El programa debe estar bien documentado
. El código debe tener profusos comentarios. Hay comentarios de varios tipos, uno de ellos describe lo que hace cada sección del programa, cada línea del programa. Este tipo de comentario dice qué es lo que se está haciendo, y la línea de código dice cómo se está haciendo eso (es la implementación del qué que aparece en el comentario)
. Si las cosas se vuelven complejas y enredadas, Detenerse y corregirlas en algún momento, en vez de ignorarlo y seguir añadiendo cosas nuevas
. etc.

D

#1 Todo esto es muy bonito pero es puro wishful thinking. Lo cierto es que pasado un umbral el código se vuelve complejo tanto si quieres como si no. Por muy bien escrito y autodocumentado que esté el kernel del linux, sigue siendo jodidamente inabarcable por una persona.