Bei der manuellen Überprüfung von unbekanntem Code (zum Überprüfen oder Ändern) habe ich anscheinend drei Möglichkeiten.
- Ein Lesen des Codes von oben nach unten , wobei jede nächste Quelldatei anhand der grundlegenden Bedeutung des Dateinamens ausgewählt wird. Normalerweise lese ich fast alles. Einige Dateien zweimal.
- Eine umfassende Lektüre , bei der ich alle aufrufenden Methoden mit minimalem Verständnis finde und lese. Lesen Sie dann alle Funktionen, die von dieser Funktion aufgerufen wurden, und so weiter. Mein mentaler Stack neigt zum Überlaufen, wenn ich ein paar Anrufe tief mache.
- Eine Tiefenlesung , bei der ich den gesamten Code in einem Debugger durchlaufe und nicht sicher bin, ob dies 8 Minuten oder 8 Stunden dauern wird.
Sobald ich genug von dem Code gelesen habe, um ein ziemlich solides Verständnis dessen zu haben, was er tut, denke ich oft, dass ich 80% oder mehr der Codebasis gelesen habe, während der grundlegende Code 20% oder weniger beträgt . Ich habe viel Zeit verschwendet.
Welche Tools sind nützlich, um schnell einen Einblick in unbekannten Code zu erhalten? Gibt es Tools, die einen Überblick über den kritischen Codepfad geben und es mir ermöglichen, einen Drilldown zu den Details eines Teils durchzuführen?