He contado las líneas de los archivos que he comprometido en los últimos dos meses y terminé con un promedio de 364 líneas por semana, pero calculo que, en general, el número real sería un poco menor porque el mes pasado fue especial caso de trabajo extra.
No recordaba la mayor parte del trabajo que hice el mes pasado antes de contar las líneas; de lo contrario, habría usado otro solo por el bien de los resultados.
Hice un ejercicio mental sobre cuánto tiempo suelo pasar depurando , y terminé con la conclusión de que puede resultarle interesante.
- ¿Cuál es la forma más rápida de aprender a componer música en una computadora?
- ¿Por qué mi computadora portátil Toshiba es tan lenta? ¿Cómo puedo arreglarlo?
- ¿Por qué mi ventilador portátil funciona constantemente?
- ¿Facebook realmente borra tu cuenta?
- ¿Cuál es la mejor placa base que puedo comprar para mi PC?
Es imposible saber cuántos archivos puede tener con 364 líneas por semana, pero supongo que 2 implementaciones de clase por semana con 3 métodos cada una.
Ahora, podemos agregar tiempo de depuración a esas clases poniendo el tiempo que normalmente dedicaría a depurar ciertas áreas de la clase.
En este momento, solo tendré en cuenta la complejidad ciclomática solo por simplicidad.
Digamos que tenemos una complejidad ciclomática de 5 por método (y no utilizamos el registro condicional :))
Agregamos 10 minutos por archivo, solo porque necesitamos dejar que la aplicación comience a depurar y debemos hacer lo que tenemos que hacer para llegar a nuestro punto de interrupción. Ahora, pongamos 1 minuto para cada condición.
Lo que tenemos ahora es:
- 10 minutos para la preparación por archivo, nos da 20 minutos por semana.
- 5 minutos por método, haciendo 15 minutos por clase. 30 minutos por semana
Tenemos 50 minutos de depuración por semana solo para navegar a través de un puñado de condiciones.
Los períodos de tiempo pueden parecer arbitrarios, pero puede intentar agregar tiempo a estos:
Añadir tiempo a:
- Polimorfismo eso no funciona como se esperaba.
- Consultas SQL que no dan los resultados esperados.
- Excepciones de reparto de clase.
- Excepciones de punteros nulos.
- Excepciones de tiempo de ejecución.
- Capture * PONGA LA EXCEPCIÓN DE SUPER CLASE AQUÍ * y no haga nada.
- Configuraciones de marco específicas que no funcionan.
- Compatibilidad entre marcos.
- Depuración del código del marco debido a errores no documentados.
- Código antiguo hecho por malos programadores y sin comentarios excepto el autor.
- Formato de fecha y hora incorrecto.
- Cálculos de dinero, decimales faltantes en alguna parte.
- Sincronización de hilos, condiciones de carrera, etc.
Y así..
Entonces, te estarás preguntando cuál es la conclusión. bueno, no lo hagas, o podrías dejar el desarrollo, y después de todo, es un mundo increíble 🙂