Ich kann mir zwei Gründe vorstellen, warum ich mir eine bestehende Anwendung ansehe, mit der ich bisher nichts zu tun hatte: Ich muss eine Änderung vornehmen, oder ich möchte einen oder mehrere Aspekte verstehen, weil ich sie als Input für Änderungen verwenden möchte, die ich an einer anderen Anwendung vornehme. In diesem zweiten Fall schließe ich das Lesen zu Bildungszwecken/Aufklärung mit ein.
Ein echter Vorteil des MVC-Musters im Besonderen und vieler Webanwendungen im Allgemeinen besteht darin, dass sie recht einfach in Anfrage-/Antwort-Paare aufgeteilt werden können, die bis zu einem gewissen Grad isoliert verstanden werden können. Sie können also mit einer einzigen Interaktion beginnen und Ihr Verständnis davon ausgehend erweitern.
Wenn ich bestehenden Code ändern oder erweitern muss, sollte ich eine gute Vorstellung davon haben, was die erste Änderung sein wird - wenn nicht, sollte ich wahrscheinlich noch nicht mit dem Code herumspielen! In einer Rails-Anwendung wird die Änderung höchstwahrscheinlich die Ansicht, das Modell oder eine Kombination aus beidem betreffen, und ich sollte in der Lage sein, die relevanten Elemente recht schnell zu identifizieren. Wenn es Tests gibt, überprüfe ich, ob sie laufen, und versuche dann, einen Test zu schreiben, der die fehlende Funktionalität aufdeckt, und los geht's. Wenn es keine Tests gibt, ist es etwas schwieriger - ich mache mir Sorgen, dass ich versehentlich etwas kaputt machen könnte: Ich würde in Erwägung ziehen, Tests hinzuzufügen, um mir mehr Sicherheit zu verschaffen, was wiederum dazu führt, dass ich ein gewisses Verständnis für den untersuchten Bereich entwickle. Ich sollte relativ schnell in der Lage sein, eine rot-grün-refactor Schleife und gewinne an Geschwindigkeit, während ich mich zurechtfinde.