Dai un'occhiata ad alcuni strumenti di indicizzazione della qualità del codice e del codice.
Per cominciare, potresti usare FishEye, che indicizza il tuo codice e ti consente di interrogare rapidamente il codice da tutti i repository in modo da poter tenere una vista a volo d'uccello dell'intera base di codice.
Ad esempio, puoi cercare un determinato file (ma anche per il contenuto di un file, incluso il nome di un metodo) e troverà biglietti affiliati e changeset che lo hanno modificato e la sua ultima versione nei repository di codice:
Tuttavia,FishEyenoncomprendenecessariamenteilcodiceevedeimetodicomeunitàdatracciare,quindinonpuoidire"trova i call point del metodo M della classe C".
Uno strumento di qualità del codice come il Sonar ti consente anche di tenere d'occhio le dipendenze (specialmente se hai una build basata su Maven).
Ad esempio, una vista molto utile è questa:
Tipermettedivedereleconnessionitradiversicomponentiinterminididipendenze,quindisaicheunamodificaaquestocomponentepotrebbeavereunimpattosuglialtri.
Leggi qui per altro.
Anche in questo caso non ti dice realmente a livello di metodo (si basa sul grafico delle dipendenze delle dipendenze binarie della tua build).
Aggiornamento: In realtà, sembra che Sonar faccia persino il tracking a livello di metodo (vedi il blog di SonarSource che ho linkato sopra):
Krugle
Disponibile online per repository di progetti open source, puoi anche distribuire la tua istanza (versione base gratis).
link
Ospita la tua istanza CodeSight.
link
GitHub lo utilizza da gennaio 2013 , quindi se il tuo repository git è GitHub- ospitato puoi già beneficiarne. Altrimenti puoi implementare il tuo.
Esegui il roll out
Probabilmente non consigliabile, ma potresti probabilmente creare un database indicizzato del tuo codice usando un lavoro notturno che analizza i tuoi progetti e usando un motore di ricerca full-text (come Apache Lucene, per esempio), o anche qualcosa di più low-tech di che.
Puoi trovare più strumenti di supporto per l'analisi del codice e la grafica a livello di classe, ma ti ritroverei con grafici molto complicati e illeggibili molto velocemente comunque, per qualsiasi sistema relativamente grande.
Molti sistemi di build hanno plugin per questo tipo di cose.