Parece que nadie plantea el punto de ¿qué es lo mejor para su empresa?
A menudo, si no siempre, los programadores son solo empleados, y si bien las decisiones de gestión pueden frustrarnos, a menudo no tenemos todos los datos que tienen.
Por ejemplo, supongamos que la compañía tiene una cláusula que estipula que si el software no está listo a tiempo, no le pagarán (solo nos pasó a nosotros, aunque creo que obtuvimos el pago después de todo). Sí, el código limpio es importante, ¡pero lo más importante es que el código funcione antes del día de pago!
Otro ejemplo: la compañía está en una mala posición financiera y necesita recaudar algo de dinero. Adivina a quién le importa la calidad? Puede arreglarlo más tarde, si tiene que hacerlo, ¡simplemente envíelo!
Un argumento podría ser "¿Por qué debería vender y escribir código de mierda?". Bueno, ¿por qué su compañía le paga un buen cheque cada mes? Elecciones, amigo mío. Si buscas el idealismo, prueba la Free Software Foundation ; Escuché que están haciendo cosas muy interesantes (me refiero a esta, y respeto a FSF y OSS).
En el otro lado de las cosas, si trabaja en un proyecto donde se espera un crecimiento explosivo en el uso (aunque tales proyecciones casi nunca son precisas), es mejor que establezca una base sólida con la mejor calidad de código requerida, ya que es casi Cierto mantenimiento será el mayor costo para el proyecto.
A los programadores les encanta el código 'limpio', lo que sea que eso signifique. Ni siquiera podemos estar de acuerdo con lo que está limpio, pero nos encanta. Sin embargo, a veces simplemente no importa tanto como la facilidad de uso y la corrección. También pueden parecer, pero no lo son: si ha visto un código escrito por un verdadero hacker de Perl en 4 horas con la intención de usarlo dos veces y desecharlo, reconocería que no está limpio, pero funciona.
Así que a veces, aparte del ego, deberíamos hacerlo funcionar. Tenga en cuenta que no recomiendo escribir código malo como un hábito; Solo estoy señalando que podría ser necesario. La perfección requiere tiempo que su empresa podría no tener. Entonces, si a su empleador no le importa, cree software, pero si lo necesita, simplemente escriba el código de trabajo, sin importar la "limpieza". Simplemente no es una respuesta de "talla única", debes priorizar.