Skip to content

Beiträge

5 Schritte zum Programmieren für den nächsten Entwickler

1. Januar 2015 • 5 Min. Lesezeit

5 Schritte zum Programmieren für den nächsten Entwickler

Die meisten von uns denken wahrscheinlich nicht an den Entwickler, der unseren Code warten wird. Bis vor kurzem habe ich ihn auch nicht berücksichtigt. Ich habe nie absichtlich unverständlichen Code geschrieben, aber ich habe auch nie Hinweise hinterlassen.

Kent Beck über gute Programmierer:

Jeder Narr kann Code schreiben, den ein Computer verstehen kann. Gute Programmierer schreiben Code, den Menschen verstehen können.

Douglas Crockford über gute Computerprogramme:

Es läuft alles auf Kommunikation hinaus und die Strukturen, die Sie verwenden, um diese Kommunikation zu erleichtern. Menschliche Sprache und Computersprachen funktionieren in vielerlei Hinsicht sehr unterschiedlich, aber letztendlich beurteile ich ein gutes Computerprogramm nach seiner Fähigkeit, mit einem Menschen zu kommunizieren, der dieses Programm liest. Auf dieser Ebene sind sie gar nicht so unterschiedlich.

Zweck und Absicht zu entdecken ist selbst im bestgeschriebenen Code schwierig. Alle vom Autor hinterlassenen Hinweise - Kommentare, aussagekräftige Benennung und Konsistenz - sind für nachfolgende Entwickler immens hilfreich.

Ich beginne damit, nach Mustern zu suchen. Muster können an vielen Stellen gefunden werden, einschließlich Variablennamen, Klassenlayout und Projektstruktur. Einmal identifiziert, sind Muster Einblicke in die Absicht des vorherigen Entwicklers und helfen beim Verstehen des Codes.

Was ist ein Muster? Ein Muster ist eine wiederholbare Lösung für ein wiederkehrendes Problem. Betrachten Sie eine Tür. Wenn ein Raum Menschen das Betreten und Verlassen ermöglichen muss und dennoch Isolation aufrechterhalten soll, wird das Türmuster implementiert. Das scheint offensichtlich, aber zu einem bestimmten Zeitpunkt war es das nicht. Jemand hat das Türmuster geschaffen, das den Türgriff, die Scharniere und die Platzierung dieser Komponenten umfasste. Gehen Sie in ein beliebiges Haus und Sie können jede Tür und ihre Komponenten identifizieren. Die Stile und Farben mögen unterschiedlich sein, aber die Komponenten sind dieselben. Software ist genauso.

Es gibt bekannte Softwaremuster für häufige Softwareprobleme. 1995 wurde “Design Patterns: Elements of Reusable Object-Oriented Software” veröffentlicht, das häufige Softwaremuster beschreibt. Dieses Buch beschreibt häufige Probleme, die in den meisten Softwareanwendungen auftreten, und bot eine elegante Lösung für diese Probleme. Entwickler erstellen auch ihre eigenen Muster, während sie Probleme lösen, denen sie routinemäßig begegnen. Obwohl sie kein Buch veröffentlichen, können Sie sie identifizieren, wenn Sie genau genug hinschauen.

Manchmal ist es schwierig, die Muster zu identifizieren. Das macht das Verstehen des Codes schwierig. Wenn Sie sich in dieser Situation befinden, untersuchen Sie den Code, sehen Sie, wie er verwendet wird. Beginnen Sie eine Neufassung. Fragen Sie sich, wie Sie dasselbe Ergebnis erreichen würden. Oft gewinnen Sie, während Sie den Denkprozess eines Algorithmus durchlaufen, Einblick in die Implementierung des anderen Entwicklers. Viele von uns haben die Neigung, das neu zu schreiben, was wir nicht verstehen. Widerstehen Sie diesem Drang! Die bestehende Implementierung ist kampferprobt und Ihre ist es nicht.

Manche Codes sind einfach verwirrend, wenden Sie sich an einen Kollegen - ein zweites Augenpaar hilft immer. Gehen Sie den Code gemeinsam durch. Sie werden überrascht sein, was Sie beide finden werden.

Hier sind 5 Tipps, um Hinweise für nachfolgende Entwickler zu hinterlassen

1. Muster
Verwenden Sie bekannte Muster, erstellen Sie Ihre eigenen Muster. Bleiben Sie bei einem konsistenten Paradigma im gesamten Code. Haben Sie zum Beispiel nicht 3 Ansätze für den Datenzugriff.

2. Konsistenz
Das ist bei weitem der wichtigste Aspekt des Programmierens. Nichts ist frustrierender als inkonsistenten Code zu finden. Konsistenz ermöglicht Annahmen. Jedes Mal, wenn ein bestimmtes Softwaremuster angetroffen wird, sollte angenommen werden, dass es sich ähnlich wie andere Instanzen des Musters verhält.

Inkonsistenter Code ist ein Albtraum, stellen Sie sich vor, ein Buch zu lesen, in dem jedes Wort etwas anderes bedeutet, einschließlich desselben Wortes an verschiedenen Stellen. Sie müssten jedes Wort nachschlagen und große Mengen geistiger Energie aufwenden, um die Absicht zu entdecken. Es ist frustrierend, mühsam und schmerzhaft. Sie werden verrückt! Tun Sie das dem nächsten Entwickler nicht an.

3. Aussagekräftige Benennung
Das ist Ihre Sprache. Das sind die Worte zu Ihrer Geschichte. Weben Sie sie gut.

Das umfasst Klassennamen, Methodennamen, Variablennamen, Projektnamen und Eigenschaftsnamen.

Nicht:

if(monkey.HoursSinceLastMeal > 3)
{
    FeedMonkey();
}

Sondern:

int feedInterval = 3;

if(monkey.HoursSinceLastMeal > feedInterval)
{
    FeedMonkey();
}

Das erste Beispiel hat 3 fest codiert in der if-Anweisung. Dieser Code ist syntaktisch korrekt, aber die Absicht der Zahl 3 sagt Ihnen nichts. Wenn Sie die Eigenschaft betrachten, gegen die sie ausgewertet wird, können Sie vermuten, dass es wirklich 3 Stunden sind. In Wirklichkeit wissen wir es nicht. Wir machen eine Annahme.

Im zweiten Beispiel setzen wir 3 auf eine Variable namens ‘feedInterval’. Die Absicht ist klar im Variablennamen angegeben. Wenn es 3 Stunden seit der letzten Mahlzeit her ist, ist es Zeit, den Affen zu füttern. Ein Nebeneffekt des Setzens der Variable ist, dass wir jetzt das Fütterungsintervall ändern können, ohne die Logik zu ändern.

Das ist ein konstruiertes Beispiel, in einem großen Stück Software ist diese Art von Code selbstdokumentierend und wird dem nächsten Entwickler helfen, den Code zu verstehen.

4. Kommentare
Kommentare sind ein zweischneidiges Schwert. Zu viel Kommentierung erhöht die Wartungskosten, zu wenig lässt Entwickler unsicher darüber, wie der Code funktioniert. Eine Faustregel ist, zu kommentieren, wenn der durchschnittliche Entwickler den Code nicht verstehen wird. Das passiert, wenn die Annahmen nicht offensichtlich sind oder der Code außergewöhnlich ist.

5. Einfach programmieren
Meiner professionellen Meinung nach ist das Schreiben komplexen Codes die größte Torheit unter Entwicklern.

Steve Jobs über Einfachheit:

Einfach kann schwieriger sein als komplex: Sie müssen hart arbeiten, um Ihr Denken klar zu bekommen, um es einfach zu machen. Aber es lohnt sich am Ende, denn sobald Sie dort ankommen, können Sie Berge versetzen.

Komplexität kommt in vielen Formen vor, einige davon umfassen: Zukunftssicherheit, übermäßig komplexe Implementierungen, zu viel Abstraktion, große Klassen und große Methoden.

Für mehr über das Schreiben von sauberem, einfachem Code, siehe Uncle Bobs Buch Clean Code und Max Kanat-Alexanders Code Simplicity

Fazit

Code zu lesen ist schwer. Mit ein paar einfachen Schritten können Sie sicherstellen, dass der nächste Entwickler Ihren Code verstehen wird.

Autor: Chuck Conway ist spezialisiert auf Software-Engineering und Generative KI. Verbinden Sie sich mit ihm in den sozialen Medien: X (@chuckconway) oder besuchen Sie ihn auf YouTube.

↑ Zurück nach oben

Das könnte dir auch gefallen