Usualmente, las aplicaciones de calidad se construyen específicamente y se prueban a fondo. Prácticamente en todas las películas que he visto que presentan cierta apariencia de programación, nunca he visto los requisitos reunidos o la base del código bajo pruebas de unidad en curso o pruebas de aceptación antes de ser implementadas.
El desarrollo de una aplicación requiere que el desarrollador entienda primero los requisitos. Los requisitos son la razón de la existencia de cualquier aplicación. Incluso el famoso “Hello World” tiene al menos un requisito. Es decir, “Hello World” debe salir. Para reunir los requisitos, un desarrollador tiene varias opciones disponibles que le permitirán discutir y reportar los requisitos. Esas opciones dependen de la metodología particular que desee adoptar (por ejemplo, historia de usuario, caso de uso, otros …) para capturar esos requisitos.
A continuación, no siempre es evidente qué lenguaje de programación usan los Hollywood Coders. Supongo que muchos de ellos intentan hackear algún programa en C, o escriben un script de shell en algún tipo de sistema operativo Unix (de nuevo … aún podría ser C). La selección del idioma y, por lo tanto, la plataforma para entregar una aplicación utilizando los requisitos reunidos se realiza antes de que tenga lugar la codificación, y necesariamente así. Tal vez el cliente sea una “tienda de Java”, por lo que utilizará Java o al menos algún lenguaje que pueda ejecutarse en la máquina virtual Java para escribir una aplicación que satisfaga los requisitos. Podrían ser una “tienda de Microsoft”, por lo que utilizará C # u otro lenguaje que se ejecutará en Common Language Runtime. Quizás algunos de los requisitos estipulaban la inclusión de una accesibilidad web, en cuyo caso podría tener algo de HTML y Javascripting para hacer además de algún código de servidor.
Los últimos dos cuadros para marcar antes de entregar su código giran en torno a “prueba” y “aceptación”. Idealmente, si ha seguido los pasos de la industria para el desarrollo de software, está utilizando algún tipo de metodología de desarrollo ágil (por ejemplo, scrums, sprints, etc.) para validar los requisitos y la funcionalidad con los propietarios de esa funcionalidad ANTES de que lo haga. lejos en el camino del desarrollo que es un gran problema reparar. También debe hacer algo como Test Driven Development, para estar razonablemente seguro de que su funcionalidad hace lo que pretende y sin efectos secundarios. Finalmente, cuando esté listo para entregar un paquete de sus requisitos (recuerde … está haciendo un desarrollo de tipo ágil NO estilo “en cascada”) dará una demostración de esa funcionalidad, demostrando que cumple con los criterios de aceptación definidos cuando los requisitos para esa funcionalidad se reunió. Luego, cuando tenga suficientes requisitos desarrollados y probados para poder construir una versión, ensamble el código en una versión de lanzamiento e implemente esa versión en una instancia de prueba. Esta instancia puede ser un servidor de aplicaciones, un servidor web, un servidor de bases de datos o una publicación de código relevante en alguna combinación de los tres, dependiendo de la naturaleza de los requisitos. Sería una réplica del entorno de producción, que es el lugar de descanso final para el código mientras se está utilizando. La instancia de prueba es donde los propietarios y usuarios pueden acceder a la base de código y realmente usar la aplicación como se usaría en un entorno en vivo (sin prueba). Esto ayuda a eliminar cualquier efecto secundario y brinda al propietario y a los usuarios una retroalimentación final (por ejemplo, “ahora que lo uso, prefiero tener un botón de opción en lugar de un menú desplegable” o “Creo que necesitamos un cálculo adicional” se muestra aquí para ayudar a tomar la decisión “).
- ¿Cuáles son las frases comunes y de uso frecuente de cualquier personaje en una película o serie de televisión?
- ¿Cómo se compara la “calidad” de los principales directores de películas con la “calidad” de los principales directores de programas de televisión?
- ¿Qué anime debería mirar o seguir (manga)?
- ¿Cuál es la mejor banda sonora de anime?
- ¿Es necesario hablar de problemas sexuales en los programas de televisión?
Finalmente, una vez que se han realizado las pruebas, la aplicación puede implementarse en un entorno de producción y ser utilizada por las masas, o solo por una.
Esto lleva semanas y meses para lograrlo según los requisitos. Demasiado tiempo para que un Codificador de Hollywood salve a la raza humana de los extraterrestres o de la malvada IA que intenta esclavizarnos para su propio uso. Por lo tanto, inventan un dispositivo de trama para acelerar las cosas (por ejemplo, un script de shell súper potente que otorga al usuario acceso a redes seguras en una forma de 30 segundos o menos) y hace que el Hollywood Coder presione algunas teclas al azar en su teclado mecánico conectado a algunos máquina de cómputo mítica con seis paneles planos de 32 “en una esquina tenuemente iluminada de un desagüe de alcantarilla debajo de Manhatten para enganchar el dispositivo de trama. De todos modos, eso hace una experiencia más cinematográfica.