Die Autorin des Materials, dessen Übersetzung wir heute veröffentlichen, sagt, dass sie davon besessen ist, sauberen Code zu schreiben. Sie ist der Ansicht, dass der Code so geschrieben werden sollte, dass es zum einen in Zukunft für andere Programmierer, einschließlich des Autors, bequem wäre, damit zu arbeiten, und zum anderen die Möglichkeit zu berücksichtigen, diesen Code zu erweitern. Das heißt, wir müssen uns bemühen, das Hinzufügen neuer Funktionen zur Anwendung relativ einfach zu gestalten und die Pflege der Codebasis zu vereinfachen. Wenn Programme nur unter Berücksichtigung der Bedürfnisse von Computern geschrieben würden, könnten Programmierer ihre Gedanken wahrscheinlich nur mit Hilfe von Nullen und Einsen ausdrücken, ohne sich um irgendetwas anderes zu kümmern. Dieser Artikel enthält einige Richtlinien zum Schreiben von Qualitätscode, die anhand von JavaScript-Beispielen veranschaulicht werden.

1. Verwenden Sie benutzerfreundliche Variablen- und Funktionsnamen
Code ist viel einfacher zu lesen, wenn er mit klaren, beschreibenden Namen von Funktionen und Variablen geschrieben wird. Hier ist der Code, der nicht sehr klar ist:
function avg (a) { let s = a.reduce((x, y) => x + y) return s / a.length }
Die Lesbarkeit wird erheblich verbessert, wenn Sie die Anzeigenamen von Variablen und Funktionen verwenden, die deren Bedeutung widerspiegeln.
function averageArray (array) { let sum = array.reduce((number, currentSum) => number + currentSum) return sum / array.length }
Streben Sie beim Schreiben von Programmtexten nicht nach Minimalismus. Verwenden Sie vollständige Variablennamen, die jeder, der in Zukunft mit Ihrem Code arbeiten wird, leicht verstehen kann.
2. Schreiben Sie kurze Funktionen, die ein Problem lösen
Funktionen sind einfacher zu warten, sie werden viel verständlicher und lesbarer, wenn sie nur ein Problem lösen sollen. Wenn wir auf einen Fehler stoßen, wird es bei Verwendung kleiner Funktionen viel einfacher, die Ursache dieses Fehlers zu finden. Darüber hinaus werden die Funktionen zur Wiederverwendung von Code verbessert. Zum Beispiel könnte die obige Funktion
sumAndAverageArray
heißen, da wir darin die Summe der Werte der Elemente des Arrays mit der
reduce
berechnen und dann den Durchschnittswert finden, indem wir den resultierenden Betrag durch die Anzahl der Elemente im Array dividieren. Hier ist die Funktion.
function sumAndAverageArray(array) { let sum = array.reduce((number, currentSum) => number + currentSum) return sum / array.length }
Es kann in zwei Funktionen unterteilt werden, dann wird die Rolle jedes Codeteils verständlicher. Wenn wir ein großes Programm erstellen, kann das Vorhandensein der
sumArray
Funktion außerdem sehr nützlich sein. Hier ist der Code für zwei neue Funktionen. Einer berechnet die Summe der Elemente des Arrays, der zweite gibt ihren Durchschnittswert zurück.
function sumArray(array) { return array.reduce((number, currentSum) => number + currentSum) } function averageArray(array) { return sumArray(array) / array.length }
Ein Zeichen dafür, dass die Funktion in zwei Teile geteilt werden kann, ist die Möglichkeit, das Wort „und“ in seinem Namen zu verwenden.
3. Dokumentieren Sie den Code
Schreiben Sie eine gute Dokumentation für Ihren Code - dann wird jemand, der in Zukunft darauf stößt, verstehen, was in diesem Code getan wird und warum. Hier ist ein Beispiel für eine fehlgeschlagene Funktion. Hier werden einige „magische Zahlen“ verwendet, deren Bedeutung nirgendwo erklärt wird.
function areaOfCircle (radius) { return 3.14 * radius ** 2 }
Sie können hier Kommentare hinzufügen, um diesen Code für jemanden verständlicher zu machen, der die Formel zur Berechnung der Kreisfläche nicht kennt.
const PI = 3.14 // , function areaOfCircle (radius) { // : // return PI * radius ** 2 }
Dieser Code ist nur ein Beispiel. In dieser Situation ist es wahrscheinlich besser, die Standardeigenschaft
Math.PI
zu verwenden, anstatt eine eigene Konstante einzuführen, in der die Pi-Nummer
Math.PI
.
Kommentare zum Code sollten die Frage „Warum“ beantworten.
Bitte beachten Sie, dass es zum Dokumentieren von Code sinnvoll ist, spezielle Tools und die entsprechenden Regeln für Codekommentare zu verwenden. Wenn ich auf Python angewendet werde, mag ich
Google Style Docstrings , wenn ich auf JavaScript angewendet werde, mag ich
JSDoc .
4. Denken Sie an die Verwendung von Sandy Metz-Regeln
Sandy Metz ist eine großartige Ruby-Programmiererin, macht interessante Präsentationen und schreibt Bücher. Sie formulierte vier Regeln für das Schreiben von sauberem Code in objektorientierten Sprachen. Hier sind sie.
- Klassen sollten nicht länger als 100 Codezeilen sein.
- Methoden und Funktionen sollten nicht länger als 5 Codezeilen sein.
- Methoden sollten nicht mehr als 4 Parameter übergeben.
- Controller können nur ein Objekt initialisieren.
Ich empfehle, ihre
Leistung in Bezug auf diese Regeln zu beobachten.
Ich befolge diese Regeln seit ungefähr zwei Jahren und sie sind so fest in meinem Kopf verankert, dass ich sie buchstäblich „an der Maschine“ befolge. Ich mag sie und ich glaube, dass ihre Verwendung den Komfort der Pflege des Codes erhöht.
Bitte beachten Sie, dass diese Regeln nur Empfehlungen sind, aber wenn Sie sie verwenden, wird Ihr Code viel besser.
5. Wenden Sie die ausgewählten Regeln nacheinander an
Die konsequente Anwendung der Regeln zum Schreiben von Code ist sehr wichtig, unabhängig davon, ob Sie den Code eines Projekts selbst schreiben oder in einem Team arbeiten. Dies drückt sich insbesondere darin aus, dass jeder, der Code liest, der das Ergebnis der Teamentwicklung ist, ihn als Ganzes wahrnehmen sollte. Mit diesem Ansatz kann die Urheberschaft einzelner Codezeilen nur durch Kontaktaufnahme mit Git hergestellt werden. Wenn Sie in JavaScript ein Semikolon verwenden, platzieren Sie es dort, wo Sie es benötigen. Gleiches gilt für Anführungszeichen - wählen Sie doppelte oder einfache Anführungszeichen und verwenden Sie, wenn es keinen guten Grund gibt, immer das, was Sie wählen.
Ich empfehle, den Code Style Guide und den Linter anzuwenden, mit denen Sie den Code auf den ausgewählten Standard bringen können. Zum Beispiel mag ich für JavaScript die Regeln von
Standard JS , für Python mag ich die Regeln von
PEP8 .
In der Tat ist die Hauptsache hier, die Regeln für das Code-Design zu finden und diese einzuhalten.
6. Denken Sie an das DRY-Prinzip
Eine der ersten Ideen, die Menschen versuchen, jemandem zu vermitteln, der Programmierer werden möchte, lautet: „Wiederholen Sie sich nicht, TROCKEN“. Wenn Sie in Ihren Projekten doppelte Fragmente feststellen, verwenden Sie Softwarekonstrukte, die Wiederholungen desselben Codes reduzieren. Ich rate meinen Schülern oft, das
SET- Spiel zu spielen, um ihre Mustererkennungsfähigkeiten zu verbessern.
Wenn Sie sich jedoch dazu entschließen, das DRY-Prinzip fanatisch anzuwenden oder die schlecht ausgewählten Vorlagen zu abstrahieren, kann sich die Lesbarkeit des Codes erheblich verschlechtern, und später müssen Sie möglicherweise häufiger Kopien derselben Konstrukte erstellen. Sandy Metz hat übrigens einen großartigen Artikel darüber, wie Codeduplizierung weniger böse ist als eine
fehlgeschlagene Abstraktion .
Infolgedessen lohnt es sich nicht, den Code zu wiederholen, aber es lohnt sich auch nicht, den Code im Kampf um die Einhaltung des DRY-Prinzips so zu ändern, dass er schwer verständlich wird.
7. Verwenden Sie die Ideen der Kapselung und Modularität.
Gruppieren Sie verwandte Variablen und Funktionen, um Ihren Code verständlicher zu machen und ihn hinsichtlich seiner Wiederverwendung zu verbessern. Hier ist ein Beispiel für einen nicht sehr gut organisierten Code, in dem Informationen über eine Person in Form separater Variablen dargestellt werden.
let name = 'Ali' let age = 24 let job = 'Software Engineer' let getBio = (name, age, job) => `${name} is a ${age} year-old ${job}`
Wenn es in einem solchen Programm notwendig ist, die Daten vieler Menschen zu verarbeiten, ist es besser, etwas wie die folgende Konstruktion darin zu verwenden.
class Person { constructor (name, age, job) { this.name = name this.age = age this.job = job } getBio () { return `${this.name} is a ${this.age} year-old ${this.job}` } }
Und wenn das Programm nur mit Daten über eine Person arbeiten muss, können diese wie unten gezeigt angeordnet werden.
const ali = { name: 'Ali', age: 24, job: 'Software Engineer', getBio: function () { return `${this.name} is a ${this.age} year-old ${this.job}` } }
In ähnlicher Weise sollte man sich nähern, lange Programme in Module, in separate Dateien aufzuteilen. Dies erleichtert die Verwendung von Code, der in separaten Dateien in verschiedenen Projekten zugewiesen ist. In großen Dateien mit Programmcode ist die Navigation oft schwierig, und kleine verständliche Module sind in dem Projekt, für das sie erstellt wurden, und gegebenenfalls in anderen Projekten einfach zu verwenden. Versuchen Sie daher, verständlichen modularen Code zu schreiben, indem Sie logisch verwandte Elemente kombinieren.
Zusammenfassung
In diesem Artikel haben wir Ihnen einige Empfehlungen zum Schreiben von sauberem und verständlichem Code gegeben. Dies sind jedoch nur Empfehlungen. Dies sind Tipps, die Ihnen beim Schreiben hochwertiger Programmtexte helfen. Wenn Sie systematisch ähnliche Regeln wie die hier beschriebenen anwenden, ist Code, der mit Regeln geschrieben wurde, im Vergleich zu Code, der nichts Ähnliches verwendet, verständlicher und einfacher zu erweitern, zu pflegen und wiederzuverwenden.
Liebe Leser! Welche Regeln befolgen Sie für Ihren Code?
