Quando ho a che fare con un progetto che ha molti file diversi, mi sembra sempre di perdere traccia di come le parti interagiscono tra loro. Non ho mai avuto grossi problemi a comprendere isolatamente i componenti più piccoli, ma man mano che la complessità del progetto aumenta, mi trovo incapace di costruire mentalmente una comprensione di ciò che sta accadendo. Lo noto soprattutto con i progetti OOP, poiché aumenta il numero di metodi e file sorgente.
Il mio background: sono un programmatore web autodidatta. Mi sono occupato principalmente di Python per script veloci e sporchi, ma ho anche realizzato alcuni progetti base di django . Mi piacciono i framework web come il pallone , perché nella semplicità di un layout a file singolo, posso facilmente tenere traccia (principalmente) di ciò che sta succedendo.
Ora mi trovo in una situazione in cui ho bisogno di interagire con un grande progetto PHP di Zend Framework che qualcun altro ha sviluppato, e sono sopraffatto dal tentativo di capire il codice distribuito su numerosi file.
Quali tecniche e processi hai trovato utili per comprendere una base di codice di grandi dimensioni che qualcun altro ha sviluppato? C'è qualche diagramma particolare che trovi ti aiuta a cogliere l'immagine più grande?