¿Cuál es un buen libro sobre cómo diseñar programas mantenibles y todas las respuestas sobre por qué debería hacer una cosa sobre otra mientras programo?

Fácil.

La biblia:

Código limpio: un manual de artesanía de software ágil por Robert C Martin

Los libros de patrones también son buenos.

Definitivamente, hay libros que todo programador debería leer que no necesariamente entra en la arquitectura, sino cómo abordar los problemas.

Diré que hay un problema con decirle a alguien con qué arquitectura elegir, porque si un problema tiene tal solución, entonces es lógico que ya haya una biblioteca implementando la solución en esa mejor práctica. Por lo tanto, la mejor arquitectura sería no implementar la solución usted mismo y simplemente usar la biblioteca o plataforma existente.

A medida que se inventan y usan nuevos patrones de diseño por encima de las “buenas prácticas” anteriores, debería ser una pista de que la arquitectura de programación está mejorando constantemente, incluso si algunas de las llamadas ideas de arquitectura moderna son en realidad muy, muy antiguas.

Entonces, la clave es leer lo antiguo y leer lo nuevo y mejorar constantemente con su oficio. Nunca asumas que sabes todo, incluso cuando alcances el nivel en el que sabes la mayoría de las cosas. Siempre habrá algo nuevo o alguna dirección alternativa que puede tomar la arquitectura y siempre debe buscar esas ideas.

Puedo enumerarte esos

1-Learning PHP Design Patterns (patrones de diseño de aprendizaje en php)

2- Refactorizador de código (aprenda sobre el refactorizador de código y qué es un mal diseño)

3- Objetos, patrones y práctica de PHP (aprende sobre los objetos de PHP por sí mismo y practica esos patrones en aplicaciones)

Otra nota Diseñe patrones no relacionados con el idioma; puede leerlo para cualquier idioma e implementarlo en un idioma según sus necesidades.

No deberías necesitar un libro. Si encuentra que lo que escribió es difícil de entender, la siguiente persona también lo hará. Escribir una explicación de comentario no resta valor al rendimiento en tiempo de ejecución, entonces, ¿por qué temerlo? Y si algo es cuestionable, explicar por qué hizo algo de cierta manera es mucho más valioso que explicar lo que estaba haciendo. ¿Quieres un buen representante como codificador? Nada mejor que tener a alguien que te diga una década más tarde que no habrían entendido lo que escribiste si no escribieras un comentario detallado con él.

He descubierto que las únicas personas que no explican dentro del programa lo que están haciendo son 1. simplemente vago 2. no dan una s & (sobre el próximo tipo que se quedó con eso 3. todo lo anterior. I habría despedido a cualquiera que escribiera código que no podría entender al leer los comentarios, porque el código rara vez está libre de errores, pero los comentarios generalmente lo están.

En cuanto a hacer “una cosa sobre otra”, depende del propósito. Si su objetivo es absolutamente el mejor rendimiento y el optimizador no es muy bueno, escriba para obtener el mejor rendimiento. Si el objetivo es un rendimiento “suficientemente bueno” y el optimizador es de primera categoría, escriba para mantenerlo.

Si eres bueno, puedes averiguar cuál es cuál.