Quando si ha a che fare con un progetto che ha molti file diversi, mi sembra sempre di perdere la cognizione di come le parti interagiscono l'una con l'altra. Non ho mai avuto un grosso problema nel capire i componenti più piccoli in isolamento, ma con l'aumentare della complessità del progetto, mi ritrovo 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 fatto alcuni progetti di base django . Mi piacciono i framework web come flask , perché nella semplicità di un layout a file singolo, posso facilmente tenere traccia (soprattutto) di cosa sta succedendo.
Ora mi trovo in una situazione in cui ho bisogno di interagire con un grande progetto PHP di Zend Framework sviluppato da qualcun altro, e sono sopraffatto dal cercare di capire il codice distribuito su numerosi file.
Quali tecniche e processi hai trovato utili per comprendere un ampio codice base che qualcun altro ha sviluppato? C'è qualche schema particolare che trovi ti aiuta a cogliere l'immagine più grande?