1. Definir el problema: el punt de partida i l’objectiu
• si el problema te l’ha donat un altre, explica’l amb les teves paraules
• representa el problema amb dibuixos i diagrames
• identifica les coses que no saps
2. Idear un pla
• descomposició: trencar un problema en parts més senzilles (estructura d’arbre)
• generalització: abstracció, identificar patrons i reduir el nombre de conceptes
• Patrons senzills: noms: objectes; verbs: operacions; adjectius: propietats; números: variables
• Patrons de control: bucles, subrutines, regles
• altres tècniques:
• pensament crític: posa en dubte les teves decisions... i si falla?
• resoldre un problema concret
• troba un problema relacionat
• cercar cap enrere des de l’objectiu… com puc arribar?
• dissenyar un model (simplificació, representació, dades, interacció)
3. Executar el pla
4. Revisar i estendre (iteració)
Estàs escrivint codi per llegir-lo en el futur, o bé per un altre...
Si mirem de prop, el fil conductor dels tres problemes esmentats és l'acoblament. Els mòduls depenen els uns dels altres de maneres no desitjades i resulten en un codi espagueti.
El codi hauria d'estar desacoblat entre els mòduls i les capes. Les polítiques d'alt nivell i les abstraccions no haurien de dependre de detalls de baix nivell, sinó d'abstraccions: caldria invertir la dependència dels mòduls als llocs necessaris. I escriure classes que només fan una cosa i només tenen un motiu per canviar.
El codi bo hauria d'explicar què està fent. Hauria de ser avorrit de llegir. Tot hauria de ser perfectament obvi. Això és bon codi - Robert Martin.