Wenn es um die Versionskontrolle geht, plädiere ich dafür, viele kleine, gezielte Commits statt großer Commits durchzuführen.
Und während ich lebe, werde ich winzige Veränderungen an der Erde vornehmen.
— Verängstigtes Kaninchen
Das Ziel besteht nicht nur darin, die Verpflichtungen klein zu halten, sondern sie fokussiert und zielgerichtet zu gestalten. Jeder Commit sollte eine logische Änderung an der Codebasis darstellen.
Letztendlich kommen wir vielleicht zu den gleichen Veränderungen, aber kleine Verpflichtungen helfen uns, unsere Zeit zu verwalten und sicherzustellen, dass unsere Aufgaben korrekt erledigt werden, während sie gleichzeitig nützliche Informationen für die Zukunft hinterlassen.
Teilen Sie große Projekte in kleinere Aufgaben auf. Hierbei handelt es sich um eine traditionelle Fähigkeit des Projektmanagements, die entscheidend dazu beiträgt, Ihre Zeit sinnvoll zu nutzen und erfolgreiche Ergebnisse zu erzielen. Das Parkinson-Gesetz legt nahe, dass sich Aufgaben erweitern, um die ihnen zugeteilte Zeit zu füllen. Die Möglichkeit, mehr, kleinere Aufgaben zu identifizieren, trägt also dazu bei, die Zeitschleichung zu begrenzen.
Überlegen Sie, wie eine Aufgabe in eine beschreibende Commit-Nachricht übersetzt wird. Wenn sich die Aufgaben oder Nachrichten überschneiden oder ähnlich sind, können Sie diese Aufgaben zusammenführen? Wenn nicht, identifizieren Sie die Hauptunterschiede, um sie zu unterscheiden. Profi-Tipp: Wenn das Wort „und“ in Ihrer Commit-Nachricht vorkommt oder mehrere Sätze zur Erklärung erforderlich sind, sollte Ihr Commit aufgeteilt werden.
Stellen Sie sicher, dass Ihr Commit das Projekt in einem funktionsfähigen Zustand hinterlässt. Obwohl dies nicht immer möglich ist, hilft diese Richtlinie wirklich, wenn mehrere Entwickler an einem einzigen Repo arbeiten. Wenn wir das Projekt laufen lassen, können wir Zweige häufiger erstellen und zusammenführen und Konflikte begrenzen. Und sollten Sie Änderungen rückgängig machen müssen, ist die Wahrscheinlichkeit höher, dass die Anwendung funktionsfähig bleibt.
Überprüfen Sie Ihre eigenen Änderungen, bevor Sie sich verpflichten, um den Fokus sicherzustellen. Manchmal finden wir opportunistische Veränderungen oder verlieren die primäre Aufgabe aus den Augen. Obwohl wir diese Einblicke und Aktualisierungen nicht verlieren möchten, gibt es eine Reihe von Möglichkeiten, Änderungen in Versionskontrolltools und IDEs zu isolieren, um Commits getrennt zu halten.
Wenn die Anzahl der Commits zunimmt, kann es schwierig sein, die Bedeutung Ihrer Commits beizubehalten. Erwägen Sie die Übernahme eines Stils wie konventionelle Commits, um Klarheit und Konsistenz zu gewährleisten.
Die Vorteile kleiner Commits zeigen sich in mehreren Schlüsselbereichen:
Kleine, gezielte Commits sind leichter zu verstehen und zu validieren. Prüfer können verschiedene Commits isoliert betrachten und sich auf die relevanten Details für jede kleinere Arbeitseinheit konzentrieren.
Kleinere Commits verringern das Risiko der Ermüdung der Prüfer und führen zu einer höheren Gesamtqualität.
Bitten Sie einen Programmierer, 10 Zeilen Code zu überprüfen, er wird 10 Probleme finden. Bitten Sie ihn, 500 Zeilen zu schreiben, und er wird sagen, dass es gut aussieht.
– Giray Özil
<script> // Detect dark theme var iframe = document.getElementById('tweet-306836785739210752-603'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=306836785739210752&theme=dark" } </script>
Kleine Commits erleichtern die Identifizierung, wo Probleme aufgetreten sind. Mit granularen Commits können Sie Tools wie Git Bisect effektiver nutzen, um Probleme zu lokalisieren. Sobald ein Fehler erkannt wird, helfen uns kleine Commits dabei, das Risiko und den Testumfang der Änderung vorhandener Codes zu begrenzen.
Jeder Commit sollte eine Geschichte über eine einzelne Änderung erzählen. Wenn die Commits klein sind, wird diese Geschichte für zukünftige Entwickler, einschließlich Ihnen selbst, klarer und aussagekräftiger.
Mit zunehmender Projektalterung kann uns der Commit-Verlauf Aufschluss über eingeschlagene und verlassene Wege, über behobene Fehler und Risiken geben, die es zu beachten gilt. Je besser und spezifischer die Commit-Nachrichten sind, desto einfacher ist es, den Projektverlauf zu verstehen.
Wenn die Commits klein sind, sinkt nicht nur das Risiko von Zusammenführungskonflikten aufgrund überlappender Änderungen, sondern es ist auch einfacher, Konflikte mit kleineren Änderungen zu lösen.
Wie bereits erwähnt, ist das Zurücksetzen kleiner Commits weniger riskant, wenn etwas schief geht, als zu versuchen, große Teile miteinander verbundener Änderungen rückgängig zu machen.
Nicht festgeschriebener Code ist wie ein nicht gespeichertes Dokument. Je mehr Zeit zwischen der Änderung einer Codezeile und dem Einchecken vergeht, desto größer ist die Gefahr, dass diese Änderung verloren geht. Versehentliches Löschen; überschreiben; Versäumnis, eine Änderung vor dem Zweigwechsel zu speichern; Einen Zweig anstelle einer Datei zurücksetzen ... Es gibt viele Möglichkeiten, wie wir Arbeit verlieren können.
Bei einer modernen Versionskontrolle wie Git ist die Verzweigung praktisch kostenlos. Während Git Stash im Notfall nützlich sein kann, erfordert es fast den gleichen Aufwand, einen temporären Zweig zu erstellen, der in einen Feature- oder Wartungszweig zusammengeführt werden kann, falls er sich als wertvoll erweisen sollte.
Festgeschriebene Änderungen können an einen Zweig oder Zweig eines Repos auf einem Server übertragen werden, sodass andere sie gemeinsam anzeigen und bearbeiten können und sichergestellt wird, dass Ihr Gebietsschemasystem kein Single Point of Failure ist, der Sie diese Arbeit kosten kann.
Wenn Sie viele kleine Commits in einem Feature-Zweig erstellen, kann es wünschenswert sein, diese am Ende in einem einzigen Commit zusammenzufassen, idealerweise mithilfe der Pull-Anfrage, damit Sie den diskreten Verlauf nicht verlieren, der bei der Codeüberprüfung so hilfreich ist.
Ich bevorzuge es, den Verlauf beizubehalten, aber es hängt auch vom Umfang und der Häufigkeit dieser Zusammenführungen ab.
Am Ende muss oft nicht jede kleine Änderung dargestellt werden, aber wenn die Commits kein Leitmotiv – ein einziges, übergreifendes Thema – haben, sollten sie wahrscheinlich nicht unterdrückt werden zusammen.
Dies hängt mit dem Vorteil „Cleaner History“ zusammen. Während die Arbeit ausgeführt wird, erleichtern diese separaten Nachrichten möglicherweise das Erkennen von Fehlern oder Inkonsistenzen bei der Codeüberprüfung:
refactor: JIRA-12345 - Replace guards with optional chaining refactor: JIRA-12354 - Replace logical OR with nullish coalescing
Sobald die Arbeit validiert und zum Zusammenführen bereit ist, kann ein einzelner gequetschter Commit sie darstellen:
refactor: JIRA-12345 - ES2020 update
Wenn Ihr Zweig eine Reihe von Refactoring-Commits enthält, sollten Sie erwägen, diese zusammenzuführen und zu unterdrücken, bevor Sie weitere Arbeiten an Ihrem Projekt durchführen. Dadurch kann das Refactoring als einzelnes Commit im breiteren Verlauf dargestellt werden und bleibt gleichzeitig von der Projektarbeit getrennt.
Dadurch werden die Risiken verschiedener Aufgaben weiter in separate Verlaufseinträge isoliert und kürzere Zweiglebensdauern gefördert
Es kann gewöhnungsbedürftig sein, wenn Sie mit dem Stil nicht vertraut sind, aber kleine Commits können dazu beitragen, Ihre Codequalität und Ihren Entwicklungsprozess zu verbessern.
Üben Sie das Erstellen kleinerer Commits. Wie bei fast allen Versionen der Versionskontrolle zahlt sich Ihre Arbeit heute in Vorteilen für Sie selbst und andere aus, aber dieser Tag kann früher kommen, als Sie erwarten.
Das obige ist der detaillierte Inhalt vonMachen Sie kleine Verpflichtungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!