Der Beitritt zu einem bestehenden Team mit einer bereits vorhandenen großen Codebasis kann entmutigend sein. Was ist der beste Ansatz?
- Breit; Versuchen Sie, aus dem Code einen allgemeinen Überblick darüber zu erhalten, wie alles miteinander verknüpft ist
- Eng; Konzentrieren Sie sich jeweils auf kleine Codeabschnitte und verstehen Sie, wie diese vollständig funktionieren
- Wählen Sie eine Funktion aus, die Sie im Laufe der Zeit entwickeln und lernen möchten
- Versuchen Sie, Einblicke in Klassendiagramme und uml zu gewinnen, falls verfügbar (und aktuell).
- Etwas ganz anderes?
Ich arbeite an einer C ++ App und Bibliothek mit ca. 20.000 Zeilen (Bearbeiten: klein im großen Schema der Dinge!). In der Industrie kann ich mir vorstellen, dass Sie von einem erfahrenen Programmierer vorgestellt werden. Wenn dies jedoch nicht der Fall ist, was können Sie tun, um so schnell wie möglich mit der Wertschöpfung zu beginnen?
-
Zusammenfassung der Antworten:
- Durchlaufen Sie den Code im Debug-Modus, um zu sehen, wie er funktioniert
- Koppeln Sie sich mit jemandem, der mit der Codebasis besser vertraut ist als Sie, und wechseln Sie sich ab, indem Sie die Person codieren und beobachten / diskutieren. Rotieren Sie die Partner unter den Teammitgliedern, damit das Wissen verbreitet wird.
- Schreiben Sie Unit-Tests. Beginnen Sie mit einer Aussage darüber, wie Code Ihrer Meinung nach funktionieren wird. Wenn sich herausstellt, wie Sie es erwartet haben, haben Sie den Code wahrscheinlich verstanden. Wenn nicht, müssen Sie ein Rätsel lösen oder eine Anfrage stellen. (Danke Donal, das ist eine großartige Antwort)
- Führen Sie vorhandene Komponententests für Funktionscode auf ähnliche Weise wie oben durch
- Lesen Sie UML, von Doxygen erstellte Klassendiagramme und andere Dokumentationen, um ein umfassendes Gefühl für den Code zu erhalten.
- Nehmen Sie kleine Änderungen oder Fehlerbehebungen vor und bauen Sie diese dann schrittweise auf
- Machen Sie sich Notizen und springen Sie nicht hinein und beginnen Sie mit der Entwicklung. Es ist wertvoller, Zeit mit Verständnis zu verbringen, als unordentlichen oder unangemessenen Code zu generieren.
Dieser Beitrag ist ein Teilduplikat der besten Methode, um sich mit einer geerbten Codebasis vertraut zu machen