Recuerdo haber tenido una discusión con alguien hace mucho tiempo (disculpas a la persona, si recuerdo quién es, me aseguraré de darle crédito). Pero básicamente la teoría era que los ingenieros pasan por tres fases. Sé que ciertamente lo hice.
Fase 1: Sub-abstracto todo.
No usan funciones, copian + pegan código, abusan de estructuras de datos, etc. Las causas principales aquí son probablemente ser flojas y no reconocer las terribles consecuencias de escribir código como este.
- ¿Qué sitio de alojamiento es mejor para alojar aplicaciones basadas en marcos como Laravel, Ruby on Rails y Node.js?
- ¿Cuáles son tus trucos de desarrollo favoritos basados en pruebas?
- ¿Cuándo puedes llamarte desarrollador web?
- ¿Cuál es el diseño de la aplicación Spring MVC hibernate?
- Cómo mostrar cada publicación en una categoría en una sola página de WordPress
Fase 2: Sobreextraer todo.
Si ha utilizado recientemente la frase “este problema se haría mucho más fácil con un AbstractFactory”, probablemente esté aquí. Piensa en un problema y ve instantáneamente cómo puede resolverse de manera elegante para todos los casos de uso posibles a través de una jerarquía de clase increíblemente complicada que, literalmente, nadie más entenderá ni utilizará.
Fase 3: Después de años de errores, llegan a una idea básica del nivel correcto de abstracción para un punto dado en una tarea.
Cuantas más incógnitas haya, probablemente tenga más sentido comenzar a escribir código y resúmenes sobre la marcha. Tan pronto como vea que algo se complica o se necesita en otra parte, resuma esa pieza. Evite tratar de hacer “una abstracción para gobernarlos a todos”. Muchos cuchillos pequeños pueden ser mejores que un machete grande.
Por el contrario, si está relativamente familiarizado con lo que debe hacerse (por ejemplo, crear un sitio web básico utilizando un marco con el que esté familiarizado), probablemente pueda saltar directamente al nivel correcto de abstracción.