El código en exceso es malo. Requiere mantenimiento periódico. Posee errores ... que deben ser encontrados, depurados y mitigados. Añadir funcionalidad extra, implica que el código antiguo se tiene que adaptar.
Mientras hay mas código escrito:
- Existen mas lugares en donde se esconden los infames bugs (que se combaten depurando o escribiendo más código)
- El proceso de compilación tarda mas tiempo
- Los Checkouts del repositorio de control de versiones también se alargan
- Un empleado nuevo tardara más tiempo en comprender el sistema
- Es mas complicado refactorizar código
- Y también es mas difícil encontrar documentación precisa de: que hace qué, cuándo, dónde y por qué.
El código es escrito por ingenieros de sistemas, técnicos programadores o consultores; digamos simplemente que son desarrolladores. Producir más código, requiere mas desarrolladores. Varios desarrolladores deben comunicarse. Un desarrollador tiene un costo de "canal de comunicación" de n^2, como pueden ver, las comunicaciones incrementan exponencialmente con cada desarrollador en el proyecto ( 1^2=2, 2^2=4, 3^2=9, etc...).
Añadamos un poco de papeleo (burocracia) a los canales de comunicación:
- Control de actividades de desarrollo, por metas y diarias.
- Documentos que constan la finalización de las actividades programadas.
¿No se debería hacer todo lo posible para incrementar la productividad del individuo en términos del buen código que este escribe? La idea es simple: Escribir menos código para hacer algo (y si se puede, que sea buen código). Si tiene que escribir menos código, se contratan menos personas, y se reducen los costos de comunicación.
Después de todo, una buena empresa debe ser eficiente y eficaz, ¿no?. Si algo ya existe, úselo. Si hay mejores tecnologías, procure utilizarlas. Y si sus desarrolladores le dicen que hay que utilizar una nueva tecnología, procure prestar atención a lo que dicen, y si es factible hágalo.
La comodidad de un desarrollador de software no puede ser discutida. Estos merecen buenas sillas, estar cómodos en sus cubículos o escritorios, café cerca y como máximo, ocho horas de trabajo diarias. El trabajo de un desarrollador de software, no solo es uno de los mas estresantes, sino también es uno de los mejor remunerados. Y si no trata bien a sus desarrolladores, estos producen código enmarañado, descuidado e irresponsable, hackeado para que funcione (ley del llegue)... malo en pocas palabras. Codificar mal, siempre es producir mas código del que se necesita.
Repitan conmigo:
"desarrolladores infelices, producen mal código, que aumenta mis costos".En la empresa en la que estoy trabajando, la mayoría de desarrolladores piensan que los "usuarios" son los enemigos. Para mi, el código es el enemigo, y para la empresa también.
Una cosa más, para los desarrolladores que leen este articulo... sigan como consejo la sabiduría innegable de xkcd:
programar opinion codigo empresa programador desarrollo