Especificación rigurosa y manejo fuerte de errores (y tener datos de entrada consistentes ayuda).
Cuando la entrada de datos es coherente, puede crear aplicaciones programáticas consistentes de los datos. Si su manejo de errores es preciso y exhaustivo, su aplicación se configura y lo olvida. Más o menos.
Pero, ¿qué sucede si las entradas cambian, si las especificaciones cambian, si necesita agregar nuevos tipos de datos, si tiene problemas de escala? ¿Entonces que? Lo que pasa con el software es que las cosas cambian. Se acabó el tiempo de tener mainframes Fortran y COBOL donde el software de edición es un proceso lento y costoso. Ahora hay muy pocas aplicaciones que dependen completamente de conocer el entorno en el que viven y nada cambia. El software de aviación es uno de esos entornos. Pero en la informática de escritorio? Es raro que pueda identificar todos los escenarios posibles donde las cosas pueden salir mal y manejarlos adecuadamente. Si ese fuera el caso, nunca verías la pantalla azul de la muerte en Windows, Chrome nunca se bloquearía, tu teléfono celular nunca se congelaría, los servidores web nunca se apagarían, nunca necesitarías actualizar nada siempre.
- ¿Es posible trabajar de forma remota como desarrollador Front End y seguir viviendo de manera decente?
- ¿Debo omitir la parte de desplazamiento mientras aprendo jQuery?
- ¿Qué portátil es mejor para un desarrollador web para usar en una cama?
- ¿Por qué tardó tanto tiempo JavaScript en comenzar a usarse en el lado del servidor?
- ¿Qué es esencial para un buen servicio de alojamiento web?
Pero ese no es el caso. Puede crear una aplicación que maneje el procesamiento de datos, el envío de correos electrónicos, la actualización de bases de datos y que lo haga de manera confiable. Pero, ¿cuánto tiempo vas a dedicar a asegurarte de que eso suceda? Cuanto más estable lo hagas, más protección contra errores lo pondrás, más tiempo llevará construirlo. Debe proteger no solo los cambios de datos, sino también el entorno. El desarrollo rara vez se hace de una sola vez y nunca se toca de nuevo, como si fuera un escenario, porque todo siempre está cambiando y no siempre se puede saber lo que sucede en el futuro.