du Vertraut mit fremdem Code
Wenn die Code-Basis klein genug ist, können Sie beginnen, es sofort zu lesen. Irgendwann werden die Teile zusammenfallen.
In diesem Szenario variiert "klein genug", es wird größer, je größer Ihre Erfahrung ist. Sie werden auch hier von "Cheaten" profitieren: Sie können Teile des Codes überspringen, die Sie aus Erfahrung als "Implementierungsmuster X" kennen.
Sie können es hilfreich finden, kleine Umwege beim Lesen des Codes, z. indem Sie eine Funktion nachschlagen, wie Sie es genannt wird, dann verbringen ein wenig Zeit über sie hinwegblicken. Bleiben Sie nicht auf diesen Umwegen, bis Sie verstehen, was die aufgerufene Funktion tut; Das ist nicht der Punkt, und es wird dir das Gefühl geben, dass du herumspringst und keine Fortschritte machst. Das Ziel beim Umgehen ist es, zu verstehen, was die neue Funktion in weniger als einer halben Minute macht. Wenn Sie nicht können, bedeutet dies, dass die Funktion zu kompliziert ist. Brechen Sie den Umweg ab und akzeptieren Sie die Tatsache, dass Sie Ihre "aktuelle" Funktion ohne diese zusätzliche Hilfe verstehen müssen.
Wenn die Codebasis zu groß ist, können Sie sie nicht einfach lesen. In diesem Fall können Sie beginnen, indem Sie die logischen Komponenten des Programms auf einer hohen Abstraktionsebene identifizieren. Ihr Ziel besteht darin, Typen (Klassen) im Quellcode mit diesen Komponenten zu verknüpfen und dann die Rolle zu identifizieren, die jede Klasse in ihrer Komponente spielt. Es gibt Klassen, die intern in einer Komponente verwendet werden, und Klassen, die für die Kommunikation mit anderen Komponenten oder Frameworks verwendet werden. Teilen und erobern Sie hier: Teilen Sie zuerst die Klassen in verwandte Gruppen auf, dann konzentrieren Sie sich auf eine Gruppe und verstehen Sie, wie ihre Teile zusammenpassen.
Um Ihnen bei dieser Aufgabe zu helfen, können Sie die Struktur des Quellcodes als Richtlinie verwenden (nicht als das ultimative Gesetz; es kann aufgrund menschlicher Fehler manchmal irreführend sein). Sie können auch Tools wie "Suchen nach Verwendungen" einer Funktion oder eines Typs verwenden, um zu sehen, wo auf sie verwiesen wird. Erneut versuchen Sie nicht vollständig zu verdauen, was die IDE Ihnen sagt, wenn Sie es nicht schnell genug machen können. Wenn das passiert, bedeutet das, dass Sie ein kompliziertes Stück Metall aus einer Maschine genommen haben, die Sie nicht ganz verstehen. Lege es zurück und probiere etwas anderes, bis du etwas findest, das du verstehen kannst.
Debuggen von fremdem Code
Dies ist eine weitere ganz Sache. Ich werde ein wenig schummeln, indem ich sage, dass es keine Möglichkeit gibt, bis Sie eine Menge Erfahrung sammeln, Code erfolgreich zu debuggen, solange es Ihnen fremd ist.
Den Code mit einem anständigen Debugger zu durchforsten, ist ein guter Weg, ein Gefühl dafür zu bekommen, wie es zusammenpasst. –