Comprender el proceso
Primero, debemos entender cómo funcionaba el sistema anterior. Necesitamos saber cómo funciona todo el proceso desde la compilación, prueba e implementación hasta recibir las solicitudes de los usuarios.
Debido a que este es un servicio central y solo llevo aquí un año, realmente no sé cómo funciona, especialmente porque se han agregado tantas funciones y parches adicionales a todo el sistema a lo largo del tiempo. los años, con solo mirarlo El código es difícil de entender. Por lo tanto, necesitamos comprender los procesos y las reglas y luego construir nuevos procesos y reglas basados en estos procesos y reglas.
Diseño y discusión
La razón por la que necesitamos reconstruir este servicio es porque cuando queremos agregar nuevas funciones, la arquitectura del código del sistema anterior no se puede expandir bien. Desarrollar nuevas funciones en el futuro será doloroso porque tenemos que refactorizar muchas cosas.
Entonces lo que realmente necesitamos es arreglar la arquitectura. Diseñar una nueva arquitectura es realmente difícil. Necesitamos hacernos muchas preguntas, como: "¿Qué pasará?" "¿Por qué?" "¿Por qué no?". Esperamos que la nueva arquitectura resuelva los problemas "futuros" y proporcione compatibilidad con versiones anteriores. Discutimos esto durante aproximadamente un mes, discutiendo la pila de tecnología y los procesos para cada característica principal.
Comprender los conceptos básicos
Al traducir el proceso y el diseño en código, me di cuenta de que debemos tener una verdadera comprensión de los conceptos básicos. Al principio no entendía realmente cómo funcionaban las funciones de orden superior. Me siento muy confundido al mirar el código. ¿Por qué las funciones siempre reciben una función como parámetro y luego devuelven una función? Pero gracias a Google, finalmente lo entiendo.
Nunca ignores las pruebas.
Al reconstruir este servicio, ejecutamos al menos tres pruebas antes de lanzarlo a producción: pruebas unitarias, pruebas de integración y pruebas de carga.
De todos estos tipos de pruebas, las pruebas unitarias son pruebas muy pequeñas. Capacitación/descubrimiento de TI Algunas personas parecen subestimar la importancia de las pruebas unitarias, ya que son solo una unidad y una función pequeña. Sin embargo, mientras reconstruía este nuevo servicio, me di cuenta de la importancia de las pruebas unitarias.