Wie verstehe ich den "fremden" Code und trete einem neuen Team bei?



Sobald der Entwickler das Unternehmen betritt und die Aufgabe erhält, stellt sich meistens heraus, dass er sich dem gemeinsamen Projekt eines Teams anschließen und seinen Code nicht von Grund auf neu schreiben muss.

Jeder Code hat seine eigene Logik, die auf bestimmten Prinzipien basiert. Darin sind Muster und Technologien enthalten, die für das Team charakteristisch sind, dem der Programmierer beigetreten ist. Aber wie kann man schnell anfangen, das Projekt eines anderen zu verstehen, obwohl es kaum klein ist und oft überhaupt keine Dokumentation vorhanden ist oder es unzureichend und ungenau ist?

Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.

Skillbox empfiehlt: Der Online-Kurs Frontend Developer Profession .

Tatsächlich ist die beste Dokumentation der Code selbst und diejenigen, die diesen Code erstellt haben (vorausgesetzt, sie befinden sich noch in der Nähe und haben das Unternehmen nicht verlassen). Wie kann ich die Zeit auf ein Minimum reduzieren und schnell zur Arbeit gehen und meinen Beitrag leisten?

Ich bin in den letzten 15 Jahren meiner Arbeit als Programmierer wiederholt auf diese Situation gestoßen, und hier sind meine Gedanken zu diesem Thema.

Ziele und Vorgaben des Projekts


Das erste, was Sie tun sollten, ist ein wenig Zeit damit zu verbringen, zu verstehen, welche Aufgabe (n) die Anwendung (en) ausführt, für die Sie Code erstellen. Dies ist eine globale Herausforderung. Wenn Sie es gelöst haben, werden Sie mit allem anderen fertig.

Sie können nicht an einem Projekt arbeiten, ohne zu wissen, warum es überhaupt benötigt wird. Durch gemeinsames Verständnis können Sie die kleinen Dinge schnell verstehen. Darüber hinaus wird Ihre eigene Arbeit harmonischer mit dem Rest des Teams ausgeführt. Stein für Stein - so wird das Haus gebaut.

Architektur


Nachdem Sie die Hauptaufgabe gelernt haben, widmen Sie sich der Analyse der Codeausführung und ihrer Logik.

Die Architektur einiger Projekte ist ziemlich kompliziert, insbesondere wenn Ihnen die grundlegenden Technologien dieser Projekte nicht sehr vertraut sind. Versuchen Sie zu Beginn, technische Dokumentation zu finden (oder fragen Sie Ihre Kollegen danach), um die grundlegende Logik zu erkennen.

Wenn Sie die Struktur des Projekts berücksichtigen, können Sie schneller mit der Arbeit beginnen und die Funktionsweise aller anderen Teile, an denen andere Teammitglieder beteiligt sind, nicht beeinträchtigen.

Es kann Fragmente im Projekt geben, die gegen die allgemeine Logik verstoßen. Wenn Sie jedoch die Idee und Architektur kennen, können Sie das Problem beheben, die „Bausteine“ neu anordnen oder ändern, sodass sie perfekt in das allgemeine Gebäude passen.

Muster


Es gibt eine große Anzahl von Mustern, die Entwickler beim Schreiben von Code verwenden. Dies sind strukturelle Muster, „Verhaltensmuster“, technologische und andere. Sie alle helfen dabei, Möglichkeiten zur Lösung häufiger Probleme beim Entwerfen von Programmen zu identifizieren.

Wenn Sie wissen, welche Muster in Ihrem aktuellen Projekt verwendet werden, können Sie auf Klassenebene besser verstehen, wie Funktionen in den Code integriert werden sollten. Auf diese Weise können Sie einen kohärenten Code erstellen, der der allgemeinen Logik und den Mustern entspricht. Dies führt letztendlich zu einer viel geringeren Anzahl von Kommentaren zum Code, einem besseren Verständnis des Codes und einer sofortigen Beseitigung von Fehlern, falls erforderlich.

Nachdem Sie ein wenig an dem Projekt gearbeitet haben, können Sie auf einen Blick verstehen, welche Abschnitte des Codes in die Gesamtstruktur passen und welche Änderungen erforderlich sind.

Richtlinien


Die meisten Teams haben bestimmte Regeln oder vielmehr eine Reihe von Regeln, nach denen jeder handelt. Hier geht es nicht nur um die allgemeinen Arbeitsprinzipien, sondern auch um die Verwendung von Klassen und Anwendungsebenen. Wenn sich die Teamvertreter an denselben Richtlinien orientieren, ist der entwickelte Code leichter zu verstehen und zu lesen.

Höchstwahrscheinlich verfügt das Team, dem Sie beitreten, auch über Richtlinien, die Sie lernen müssen. Zunächst beziehen sie sich auf die Programmiersprache, die während der Entwicklung die wichtigste ist.

Sie können fragen, wo Sie alle Informationen über das Projekt, seine Architektur, Vorlagen und Richtlinien erhalten. Es gibt verschiedene Methoden, um das Notwendige zu erhalten, mit Ausnahme derjenigen, die bereits oben geäußert wurden:

  • Suchen Sie nach Informationen, auch nach solchen, die als irrelevant angesehen werden können. Bauen Sie Ihre eigene Wissensbasis mit allgemeinen Begriffen, Abkürzungen und Konzepten auf, die Ihr Team verwendet.
  • Sobald diese Datenbank fertig ist, können Sie alle für Sie interessanten Themen mit dem Projektmanager besprechen, da Sie bereits dieselbe Sprache sprechen.
  • Darüber hinaus lohnt es sich, mit den Anwendungsarchitekten und Teamleitern über die Gesamtarchitektur Ihres Projekts zu sprechen. Versuchen Sie dann, mehr über diese Architektur und die damit verbundenen Codeoptimierungstechniken zu erfahren. Wenn Sie etwas sehen, das Ihrer Meinung nach gegen die allgemeine Logik der Anwendung verstößt, sollten Sie dies unbedingt mit dem Teamleiter besprechen.
  • Informieren Sie sich bei Ihren Teamkollegen darüber, welche Muster und Regeln bei der Arbeit am Code verwendet werden - sowohl beim Schreiben als auch bei zukünftigen Wartungsarbeiten. Wenn Sie die wichtigsten Punkte kennen, vergleichen Sie, was am besten funktioniert, und handeln Sie in Zukunft entsprechend.
  • Versuchen Sie, einen Codeabschnitt von potenziellen und realen Problemen zu befreien. Auf diese Weise erhalten Sie ein tieferes Verständnis des Projekts und seines Codes. Womit bereinigt Ihr Team den Code?

Im Allgemeinen ist Refactoring die beste Gelegenheit, um Ihr Team in eine Diskussion darüber einzubeziehen, welche Richtlinien überprüft und welche in Zukunft verwendet werden sollten.

Teilen Sie Ihre eigenen Erfahrungen mit dem Team, nehmen Sie aktiv an Arbeitstreffen teil, diskutieren Sie aktuelle Probleme, die Architektur der Anwendung und ihre Elemente, Vorlagen und andere wichtige Punkte. Arbeitstreffen können ein zuverlässiger Kanal sein, um zusätzliche Informationen zu erhalten. Es lohnt sich, über ihre Beobachtungen / Erfolge zu sprechen, darüber, was für alle nützlich sein kann.

Auf diese Weise können Sie nicht nur schnell mit der Arbeit beginnen, sondern auch dem Team beitreten und in kurzer Zeit zu seinem unersetzlichen Teilnehmer werden.

Natürlich werden Sie Leute treffen, mit denen es schwierig ist zu kommunizieren; Es wird Probleme mit dem Code geben. Aber das passiert fast immer - es gibt Teams, in denen alles perfekt ist, aber es gibt nur wenige.
Skillbox empfiehlt:

Source: https://habr.com/ru/post/de441356/


All Articles