Estas son algunas de las cosas que me han pasado por la cabeza, cosas que me he dado cuenta a lo largo de los años, principalmente como resultado de la gran cantidad de años:
- La programación orientada a objetos está sobrevalorada: sí, los objetos son excelentes para pensar en un problema, pero tienden a interferir cuando llega el momento de GSD (Hacer las cosas ). Todavía soy un profesional y defensor de la OOP, pero mi celo ha disminuido a lo largo de las décadas. Mantener el modelo de objetos “puro”, al mismo tiempo que hace que las abstracciones sean útiles e intuitivas es como pulir una bala de cañón. Quiero decir, proyectil brillante o no, se trata de dar en el blanco.
- Las soluciones elegantes no son mejores soluciones: el cliente / usuario normalmente no puede ni quiere ver su arquitectura, diseño y código. En lugar de perseguir la elegancia, vuelve a GSD. La elegancia, y con esto quiero decir simplicidad, claridad y brevedad, aumenta a medida que el desarrollador madura. Los desarrolladores más antiguos, naturalmente, producen soluciones más elegantes, si no por otra razón que tienen más experiencias para sacar.
- Los desarrolladores son malos optimizadores: no puedo decir cuántas veces me he preocupado por exprimir el rendimiento de una solución solo para descubrir que era al menos diez veces más rápido de lo necesario antes de comenzar a ajustarlo. Y muchas veces mis intentos preliminares de optimización simplemente no valen la pena. Es mejor terminar una versión del producto, ponerla en manos de algunos usuarios, luego perfilar la solución, ya que se está utilizando para encontrar los lugares que necesitan ajustes.