Ao lidar com um projeto que possui muitos arquivos diferentes, sempre pareço perder a noção de como as partes interagem umas com as outras. Eu realmente nunca tive muito problema em entender componentes menores isoladamente, mas à medida que a complexidade do projeto aumenta, me encontro incapaz de construir mentalmente um entendimento do que está acontecendo. Percebo isso especialmente em projetos OOP, à medida que o número de métodos e arquivos de origem aumenta.
Meu histórico: sou um programador web autodidata. Eu lidei principalmente com python para scripts rápidos e sujos, mas também fiz alguns projetos básicos de django . Gosto de estruturas da Web como o balão , porque, na simplicidade de um layout de arquivo único, posso acompanhar (principalmente) o que está acontecendo.
Agora me encontro em uma situação em que preciso interagir com um grande projeto PHP do Zend Framework que outra pessoa desenvolveu, e estou impressionado com a tentativa de entender o código espalhado por vários arquivos.
Quais técnicas e processos você achou úteis para entender uma grande base de código que outra pessoa desenvolveu? Existe algum diagrama específico que você encontra ajuda a entender a imagem maior?