JavaRush /Java-Blog /Random-DE /So schreiben Sie sauberen Code

So schreiben Sie sauberen Code

Veröffentlicht in der Gruppe Random-DE
Wenn Sie Ihren Code sauber und schön gestalten, können Sie Fristen einhalten. Robert Martin hat es mit einer seiner prägnanten Aussagen auf den Punkt gebracht: „Das einzig wahre Maß für die Codequalität ist die What-The-F**ks/Minute-Einheit.“ .“ " im Original). So schreiben Sie sauberen Code – 1Lassen Sie mich erklären, was das bedeutet. Jedes Mal, wenn ich Code überprüfe, durchläuft mein Gehirn eine von drei Emotionen:
  • „WTF?! Was zur Hölle?!" (mit Ekel) - das ist es nicht... alles ist sehr schlecht...
  • „WTF?! Was zur Hölle?!" (mit Bewunderung) – hmm, ein kluger Kerl hat es geschafft!
  • „WTF?! Was zur Hölle?!" (mit Verärgerung) – eine Art Verwirrung, worüber reden wir überhaupt?!
Was ist also das Wichtigste und was genau bewerten wir, wenn wir Code sehen? Das ist es: seine Reinheit und Schönheit. Die Fähigkeit, sauberen und schönen Code zu schreiben, ist ein Indikator für einen hochprofessionellen Entwickler. Die Ausbildung dieser Fähigkeit basiert auf zwei Komponenten – Wissen und Arbeit. Wissen lehrt Sie Muster, Prinzipien, Praktiken und Heuristiken. Sie brauchen sie, um sich beruflich weiterzuentwickeln. Nur Sie müssen dieses Wissen durch ständige Übung und harte Arbeit wie einen Schwamm aufnehmen. Kurz gesagt, sauberen Code zu schreiben ist nicht einfach. Das ist harte, mühsame Arbeit, und Sie müssen hart daran arbeiten. Durch Versuch und Irrtum werden Sie sich verbessern, indem Sie dieselben Schritte immer wieder wiederholen, bis Sie die gewünschte Lösung gefunden haben. Es gibt einfach keinen einfacheren Weg. Im Folgenden finden Sie einige Tipps, die Ihnen dabei helfen sollen, das Schreiben von sauberem Code zu erlernen.

Was ist in einem Namen

Kendrick Lamar (amerikanischer Hip-Hop-Künstler – Anm. d. Red.) hat einmal treffend bemerkt: „Wenn ich die wahre Geschichte erzählen will, muss ich mit meinem Namen beginnen.“ Die Namen in der Softwareentwicklung sind allgegenwärtig. Wir benennen Funktionen, Klassen, Argumente, Pakete, Programme – alles. Wir benennen Quelldateien und Nachschlagewerke und alles, was damit zusammenhängt. Wir benennen Dinge endlos und dies wird zu einem entscheidenden Teil der Arbeit an der Erstellung sauberen Codes. Der Name, den Sie etwas geben, sollte die Absicht widerspiegeln. Einen guten Namen zu finden ist nicht einfach, es braucht Zeit, spart aber auch viel Zeit, wenn man sich mit dem Code auseinandersetzen muss und die Situation kompliziert wird. Seien Sie also bei diesem Vorgang vorsichtig und scheuen Sie sich nicht, den Namen später zu ändern, wenn Sie etwas Passenderes finden. Jeder, der sich mit Ihrem Code beschäftigt, wird Ihnen sehr dankbar sein.

Denken Sie daran, dass der Name einer Variablen, Klasse oder Funktion drei Hauptfragen beantworten muss: Warum sie (Variable, Funktion usw.) existiert, was sie tut und wofür sie verwendet wird.

Dies erfordert nicht nur gute Beschreibungsfähigkeiten, sondern auch allgemeine Gelehrsamkeit und eine breite Perspektive. Und niemand kann dir das besser beibringen als du selbst.

sauberer Code

„Eine Funktion“ – eine Sache

Louis Henry Sullivan (amerikanischer rationalistischer und modernistischer Architekt) sagte einmal: „Funktion bestimmt Form . “ Er sagte dies über die Architektur von Häusern, aber das ändert nichts am Wesen. Jedes System basiert auf einer domänenspezifischen Sprache, die Programmierer erstellen, um es genau zu beschreiben. Funktionen fungieren als Verben der Sprache und Klassen sind Substantive. In den meisten Fällen sind Funktionen für die Organisation einer Programmiersprache von größter Bedeutung, und ihre korrekte Schreibweise ist das A und O bei der Erstellung von gutem Code. Für das Schreiben von Qualitätsfunktionen gibt es nur zwei goldene Regeln:
  1. Sie sollten klein sein
  2. Sie müssen eine Sache, eine Aufgabe erledigen, und zwar gut
Das heißt, Ihre Funktion sollte klein sein und keine verschachtelten Strukturen enthalten. Daher sollten die Funktionseinrückungsebenen nicht mehr als eins oder zwei betragen. Dieser Ansatz macht den Code viel einfacher zu lesen, zu verstehen und zu verstehen. Darüber hinaus müssen wir sicherstellen, dass sich die Ausdrücke innerhalb der Funktion auf derselben Abstraktionsebene befinden. Das Mischen von Abstraktionsebenen innerhalb einer Funktion führt immer zu großer Verwirrung und letztendlich zu unüberschaubarem Code. Die besten Programmierer betrachten Funktionen als Geschichten, die erzählt werden müssen, und nicht nur als Code, den es zu schreiben gilt. Sie verwenden die Tools ihrer gewählten Programmiersprache, um einen reichhaltigen, ausdrucksstarken und saubereren Codeblock zu erstellen, der im Wesentlichen als großartiger Geschichtenerzähler fungieren kann.

„Kommentare gleichen keinen schlechten Code aus“

Venus Williams, amerikanische Tennisspielerin und fünffache Wimbledon-Siegerin, brachte es auf den Punkt, als sie sagte: „Jeder hinterlässt seine Kommentare. So entstehen Gerüchte . “ Kommentare sind wie ein zweischneidiges Schwert. Ein gut platzierter Kommentar ist eine sehr nützliche Sache. Andererseits verstopft nichts den Raum mehr als leichtfertige, nutzlose Kommentare. Am schädlichsten sind jedoch Kommentare, die Fehlinformationen und Lügen verbreiten. Kurz gesagt, Kommentare sind eine Art notwendiges Übel. Nicht immer, aber größtenteils. Warum? Es ist ganz einfach: Je älter der Kommentar ist, desto schwieriger ist er zu pflegen, und wie Sie wissen, ändern die meisten Programmierer Kommentare nicht immer zusammen mit Änderungen im Code. Der Code bewegt und entwickelt sich weiter. Teile des Codes werden hin und her verschoben, es gibt jedoch keine Kommentare. Und das wird zum Problem!

Denken Sie daran: Sauberer, klarer Code mit wenigen Kommentaren ist viel besser als komplexer, überladener Code. Verschwenden Sie nicht Ihre Energie damit, das Chaos zu erklären, das Sie in den Kommentaren verursacht haben. Verbringen Sie diese Zeit besser damit, das Chaos aufzuräumen.

sauberer Code

„Codeformatierung hat immer Priorität“

Dies sagte niemand Geringeres als Robert C. Martin, alias Uncle Bob, Entwickler, Autor zahlreicher Bücher über Softwareentwicklung, Berater, Co-Autor des Agile-Manifests und so weiter. Und er fügte hinzu: „Code zu formatieren ist eine Art Kommunikation. Und Kommunikation hat für jeden professionellen Entwickler höchste Priorität.“ Die obige Aussage sollte nicht unterschätzt werden, denn sie spricht für eine der wichtigsten Eigenschaften eines exzellenten Entwicklers. Formatierter Code ermöglicht Ihnen einen tiefen Blick in Ihre Gedanken. Wir möchten die Menschen mit unserer Ordentlichkeit, unserer Liebe zum Detail und unserer Fähigkeit, unsere Gedanken klar zu ordnen und auszudrücken, beeindrucken. Wenn die Leute jedoch beim Betrachten des Codes eine Art Verwirrung bemerken, die an eine Vinaigrette erinnert und weder Anfang noch Ende hat, macht das Ihre Bemühungen zunichte und mindert den Ruf des Entwicklers. Zweifle nicht einmal daran! Sie liegen weit von der Wahrheit entfernt, wenn Sie denken, dass es in diesem Geschäft vor allem darauf ankommt, dass „der Code einfach funktioniert“. Die Funktionalität, die Sie heute erstellen, wird höchstwahrscheinlich in der nächsten Version geändert, die Lesbarkeit des Codes wird sich jedoch nicht ändern. Der Stil des Codes und seine gute Lesbarkeit erleichtern die Pflege des Codes über einen langen Zeitraum, auch wenn der ursprüngliche Code bis zur Unkenntlichkeit verändert wurde.
Vergessen Sie nie, dass in Zukunft höchstwahrscheinlich nicht Ihr Code selbst im Gedächtnis bleiben wird, sondern Ihr Stil und Ihre Konsistenz. Stellen Sie daher sicher, dass der Code gut formatiert ist und einfachen Regeln folgt, die für alle Teammitglieder verständlich sind.

Erstellen Sie zunächst einen „try-catch-finally“-Block

Georges Canguilhem (Wissenschaftshistoriker, Philosoph) bemerkte zu Recht: „Fehler zu machen ist für den Menschen natürlich, aber auf Fehlern zu bestehen ist vom Teufel . “ Fehlerbehebung ist etwas, was alle Programmierer tun. Es können ungültige Daten eingegeben werden und Geräte können ausfallen. Und als Entwickler müssen wir sicherstellen, dass der Code das tut, was er tun soll. Das Problem besteht nicht nur in der Fehlerbehandlung, sondern auch in der „sauberen und leicht lesbaren“ Fehlerbehandlung. Viele Programme passen sich der Fehlerbehandlung an. Wenn Sie dies tun, gerät alles in ein solches Chaos, dass der Zweck und die Logik des Hauptcodes zerstört werden. Das ist falsch, das sollte nicht so sein. Der Code sollte sauber und zuverlässig sein und die Fehlerbehandlung sollte nahtlos und natürlich in den Code integriert sein. Dies ist ein Indikator für einen erstklassigen Programmierer. Eine Möglichkeit, dies zu erreichen, ist die ordnungsgemäße Verschachtelung und Abdeckung aller Fehler in Try-Catch-Blöcken. Diese Blöcke definieren den Umfang Ihres Codes. Wenn Sie Code im Try-Teil eines Try-Catch-Finally-Blocks ausführen, geben Sie an, dass die Ausführung jederzeit abgebrochen und dann in einem Catch fortgesetzt werden kann. Daher empfehlen wir, beim Schreiben von Code mit try-catch-finally zu beginnen. Dadurch lässt sich ermitteln, was der Benutzer vom Code erwarten kann, unabhängig davon, was beim Versuch mit dem Code schiefläuft.
Denken Sie immer daran, dass jede von Ihnen ausgelöste Ausnahme genügend Kontext enthalten muss, um den Ort und die Quelle des Fehlers zu bestimmen. Kreative und informative Fehlermeldungen bleiben lange nach dem Schreiben des Codes im Gedächtnis, auch wenn der Programmierer bereits mit ganz anderen Aufgaben beschäftigt ist.
sauberer Code

Fassen wir es zusammen

Ein ungewöhnlicher Satz wird uns helfen, all das zusammenzufassen. Dabei handelt es sich um Code-Sense oder „einen Sinn für Common Code“, eine Art Programmierer-Äquivalent des gesunden Menschenverstandes. Mit den Worten von Robert Martin: „Das Schreiben von sauberem Code erfordert den systematischen Einsatz vieler kleiner Techniken, die als Ergebnis eines akribischen und etwas schmerzhaften Sinns für „Sauberkeit“ angewendet werden. Diese kleinen Techniken werden zusammenfassend als Code-Sense bezeichnet . Einige von uns haben diesen „gesunden Code-Sinn“ von Anfang an, während andere ihn durch beharrliches Üben entwickeln müssen. Dieser Instinkt hilft nicht nur, den Unterschied zwischen schlechtem und gutem Code zu erkennen, sondern hilft auch bei der Entwicklung von Strategien, die darauf abzielen, schlechten Code in guten umzuwandeln. Schlechter Code ruiniert alles. Im übertragenen Sinne: Wenn man den leckersten Kuchen mit Hundescheiße überzieht, dann... äh... wird es kaum jemandem schmecken. Code Sense hilft einem Programmierer, die richtigen Tools zu verwenden, um sein Ziel, sauberen Code zu erstellen, zu erreichen. Ein Programmierer, der versteht, was Code-Sinn ist, ist ein Künstler, der auf einem leeren Bildschirm ein Kunstwerk schaffen kann, an das man sich viele Jahre lang erinnern wird. Wie Harold „Hal“ Abelson, Professor für Informatik am MIT und Gründungsdirektor von Creative Commons und der Free Software Foundation, es zusammenfasste: „Programme müssen zuerst geschrieben werden, damit die Leute sie lesen können, und dann, damit sie es lesen können.“ hingerichtet.“ Auto" . Was Sie zum Thema lesen können: „Ein Handbuch für Agile Software Craftsmanship“ – Robert Martin. „Ein Handbuch zur agilen Schätzung“ – Mike Cohn Über den Autor: Ravi Shankar Rajan ist ein Global IT Program Manager aus Mumbai (Indien). Berühmter Blogger, Haiku-Dichter, begeisterter Archäologe und Geschichtsinteressierter. Sie können sich mit ihm auf Twitter , Medium und LinkedIn verbinden
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION