¿Cómo crea un desarrollador una aplicación web que sea bastante autosuficiente?

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.

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.

More Interesting

Cómo construir un cms simple

¿Cómo me convierto en un desarrollador de pila completa? ¿Qué es una buena hoja de ruta? Actualmente, estoy estudiando para un BE en el tercer año.

¿Por qué mi página web HTML no muestra nada más que una barra de navegación en la parte superior de la pantalla?

¿Cuál es la diferencia entre el código JavaScript colocado dentro de una etiqueta de encabezado y el código colocado fuera de una etiqueta de cuerpo?

¿Por qué la mayoría de los desarrolladores usan una Macbook de Apple como su máquina de desarrollo?

¿Por qué los desarrolladores web eligen lenguajes distintos de PHP a pesar de que Mark Zuckerberg ha demostrado que puede construir una plataforma altamente escalable en PHP?

¿Por qué los desarrolladores deberían elegir Ruby on Rails?

¿Cuál es la guía para estudiantes de desarrolladores web para instalar y configurar una máquina virtual Ubuntu mínima con un VirtualBox en una PC con Windows? Necesita un puente de red para SSH, y para poder instalar Git, Atom y Chrome.

¿Cuál es el mejor proveedor de alojamiento web para micrositios de alto perfil y alto tráfico para una startup?

¿Por qué Zotero es mucho mejor que Mendeley para extraer metadatos de archivos PDF de artículos de revisión de leyes?

¿Necesito una hoja HTML para codificar un sitio web o puedo comenzar a codificar en TextEdit para Mac?

¿Cuál es el mejor hosting compartido?

¿Dónde debo poner este código js en map box studio?

¿Cómo uso el QueryStringField en asp.net?

¿Escribirías un lexer / parser para analizar HTML (por ejemplo, validador) en C ++ o Javascript y por qué?