¿Por qué a la mayoría de los programadores no les gusta modificar el código de otros programadores?

Y en términos informáticos, es mejor decir “mantener” que “modificar”.

Los programadores suelen evitar el tener que modificar/mantener el código de otros programadores o en general mantener un sistema informático desarrollado por otro programador.

¿Por qué?

El otro día lo estuve pensando y se me ocurrió una analogía: los cocineros y el cocinar. La comparación no es extraña: programar es más un arte que una ingeniería. Y se le pone mucho amor, como al cocinar. Y existen numerosos “libros de cocina” sobre los lenguajes de programación:

Dejando de lado aspectos importantes, como el orgullo de los programadores o la comodidad de trabajar con un código propio en vez de un código ajeno, modificar el código de otro programador es como un cocinero que tiene que terminar un guiso que ha comenzado otro cocinero.

¿Habrá puesto el cocinero anterior los ingredientes adecuados?

¿Cuál es la calidad de los ingredientes que ha empleado?

¿Cuánto tiempo de cocción tiene el guiso?

¿Habrá puesto el cocinero anterior suficiente sal, suficiente aceite, suficiente etc.?

Lo normal es que un cocinero no esté dispuesto a terminar el guiso que otro cocinero ha comenzado, y si lo hace, seguramente dirá que no se responsabiliza del resultado final… Con el código ocurre lo mismo.