[* Lesbarer Code * Amazon-Kauflink](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83 % AB% E3% 82% B3% E3% 83% BC% E3% 83% 89-% E2% 80% 95% E3% 82% 88% E3% 82% 8A% E8% 89% AF% E3% 81% 84% E3% 82% B3% E3% 83% BC% E3% 83% 89% E3% 82% 92% E6% 9B% B8% E3% 81% 8F% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E3% 82% B7% E3% 83% B3% E3% 83% 97% E3% 83% AB% E3% 81% A7% E5% AE% 9F% E8% B7% B5% E7% 9A% 84% E3% 81% AA% E3% 83% 86% E3% 82% AF% E3% 83% 8B% E3% 83% 83% E3% 82% AF-Theorie-Praxis-Boswell / dp / 4873115655 / ref = sr_1_1? adgrpid = 52747835709 & dchild = 1 & gclid = CjwKCAjw2Jb7BRBHEiwAXTR4jcm6iePgNgKHDmEvEtkvsB5IJ_skZ0aSoztpmqccbdEWkPh9VInvSRoC2DQQAvD_BwE & hvadid = 338561722060 & hvdev = c & hvlocphy = 1009309 & hvnetw = g & hvqmt = e & hvrand = 10166295044081564502 & hvtargid = kwd-334307148361 & hydadcr = 16038_11170849 & jp-ad-ap = 0 & keywords =% E3% 83% AA% E3% 83% BC% E3 % 83% 80% E3% 83% 96% E3% 83% AB% E3% 82% B3% E3% 83% BC% E3% 83% 89 & qid = 1600565375 & sr = 8-1 & tag = googhydr-22)
Es ist keine grobe Notiz, sondern eine kleine detaillierte Notiz!
Point
Es ist wichtig, einen Schritt zurückzutreten und sich zu fragen!
Point
Versuchen Sie, Informationen zu lesen, indem Sie sich nur den Namen ansehen
・ Wählen Sie ein klares Wort → Vermeiden Sie leere Wörter. "Get" ist kein sehr klares Wort. Ich weiß nicht wo ich hinkommen soll?
Verwenden Sie beispielsweise fetch / download je nach Situation anstelle von get.
→ Vermeiden Sie leere Namen wie tmp und foo. Geben Sie ihm einen Namen, der einen bestimmten Zweck oder Wert darstellt. Rückgabewert retval × sum_squares○
Wenn Sie also einen generischen Namen wie tmp / it / retval verwenden, sollten Sie auf einen guten Grund vorbereitet sein! Es ist Unsinn, dies nur für Fahrlässigkeit zu verwenden! "Benennungskraft"!
→ Verwenden Sie einen passenderen Namen
→ Wenn es wichtige Informationen sind, die Sie unbedingt informieren müssen, können Sie sie zu "Variablenname" hinzufügen. Die Werteinheit ist klarer als delay → delay_secs. Gleiches gilt für die Sicherheit. Passwort → Klartext-Passwort (Passwort ist Klartext, daher sollte es vor der Verarbeitung verschlüsselt werden)
Fügen Sie Attribute hinzu, bei denen Sie die Bedeutung von Variablen verstehen müssen.
→ Es ist einfach schwer zu merken, es nimmt den Bildschirm ein und die Menge an Code nimmt zu. Wenn der Bereich klein ist, können Sie einen Kurznamen verwenden. Wenn der Umfang des Bezeichners groß ist, muss der Name mit genügend Informationen gefüllt sein, um dies zu verdeutlichen. Es ist leicht wegzulassen, aber projektspezifische Abkürzungen sind nicht akzeptabel. Ich kann die neuen Mitglieder nicht verstehen.
→ Sie können Informationen auch mit Unterstrichen, Bindestrichen und Großbuchstaben in den Namen einfügen. Das Team entscheidet, welche Regeln verwendet werden sollen. Konsistenz ist wichtig.
Beispielsweise werden Klassenmitgliedsvariablen unterstrichen, um sie von lokalen Variablen zu unterscheiden.
Fragen Sie sich: "Ist der Name nicht mit etwas anderem verwechselt?" Suchen Sie aktiv nach Missverständnissen.
Verwenden Sie min und max, um Grenzwerte einzuschließen.
Verwenden Sie first und last, um den Bereich anzugeben.
Verwenden Sie Anfang und Ende für inklusive / exklusive Bereiche.
Klären Sie die Bedeutung von wahr und falsch, wenn Sie Namen für boolesche Variablen und Funktionen auswählen, die boolesche Werte zurückgeben. Gefährliches Beispiel bool read_password = true; Es gibt zwei Interpretationen ・ Das Passwort muss von nun an gelesen werden ・ Das Passwort wurde bereits gelesen.
Hier ist es besser, need_password anstelle von read zu verwenden.
Der Vorname ist, dass die Person, die den Code liest, Ihre Absichten richtig verstehen kann. Stellen Sie vor der Entscheidung für einen Namen sicher, dass der Name nicht missverstanden wird, indem Sie über abweichende Meinungen nachdenken. Achten Sie auch auf die Erwartungen des Benutzers an das Wort. Beispiel: Für Get () und size () werden leichte Methoden erwartet.
Drei Prinzipien • Verwenden Sie ein Layout, das mit den Mustern übereinstimmt, an die der Leser gewöhnt ist.
Offensichtlich ist ein gut aussehender Code einfacher zu verwenden. Wenn Sie es schnell scannen können, können Sie Code erstellen, der für jeden leicht lesbar ist.
Ein gut aussehender Code kann nicht nur die Oberfläche, sondern auch die Struktur des Codes verbessern.
Durch das Ausrichten der Spalten kann der Code leichter lesbar werden. Auf diese Weise können Tippfehler leichter gefunden werden.
→ Um einen schnellen Überblick über den Code zu erhalten, können Sie ihn in Gruppen aufteilen und "Einheiten" erstellen. Leicht verständlicher Code.
Es ist jedoch wichtig zu beachten, dass ein konsistenter Stil wichtiger ist als ein "korrekter" Stil. Selbst wenn Sie es richtig und einfach schreiben, wird es schwierig sein, es zu sehen und zu lesen, wenn Sie es in einem unzusammenhängenden Stil als Ganzes schreiben.
Wenn Sie Ihren Code auf konsistente und aussagekräftige Weise "formen", ist er schnell und einfach zu lesen.
・ Wenn Sie dasselbe mit mehreren Codeblöcken tun, machen Sie die Silhouette zur gleichen Person ・ Das Ausrichten der "Spalten" des Codes erleichtert den Überblick. ・ Was an einer Stelle wie A / B / C aufgereiht war, sollte an einer anderen Stelle nicht wie B / C / A aufgereiht werden. Wählen Sie eine aussagekräftige Reihenfolge und behalten Sie diese Reihenfolge immer bei
Schreckliche Namen ändern Namen ohne Kommentar → Kommentare werden nicht verwendet, um schreckliche Namen auszugleichen. Wenn ja, ändern Sie es in einen klareren Namen.
Was soll ich als Kommentar schreiben? → Gute Kommentare sind für "Aufzeichnen Ihrer Gedanken". Sie sollten "wichtige Gedanken" schreiben, wenn Sie Code schreiben
Sie können kommentieren, warum der Code verschmutzt ist. Ein Kommentar, der jemanden ermutigt, das Problem zu beheben.
→ Schreiben Sie in die Kommentare, was Sie mit dem Code machen möchten. → Kann die Qualität des Codes informieren und die Richtung der Verbesserung angeben.
→ Was bedeutet diese Konstante bei der Definition einer Konstante? Es gibt oft einen Hintergrund, warum sie diesen "Wert" haben. → Es ist wichtig, in den Kommentaren festzuhalten, was Sie gedacht haben, als Sie sich für den Namen der Konstante entschieden haben.
Fügen Sie dort einen Kommentar hinzu, um die Antwort zu verdeutlichen.
→ Sagen Sie die Probleme voraus, die bei der Verwendung des Codes auftreten, und geben Sie sie in den Kommentaren an.
Die neuen Teammitglieder sollten den Code verstehen. Wie arbeiten die Klassen zusammen? Eine solche Dies ist ein Kommentar, den Sie in Ihren Code schreiben müssen.
Ein kurzes, angemessenes Dokument ist in Ordnung. Besser als nichts.
Wichtig sind auch Kommentare, die den Low-Level-Code gut zusammenfassen.
Schreiben Sie alles, was Ihnen hilft, den Code zu verstehen!
Schreibblockade = Ich kann nicht schreiben, weil ich feststecke
Der einzige Weg, darüber hinwegzukommen, besteht darin, mit dem Schreiben zu beginnen. Schreiben Sie Ihre Meinung auf und hinterlassen Sie einen Kommentar. 3 Schritte, um einen Kommentar zu schreiben
Der Zweck des Kommentars ist es, dem Leser zu helfen, die Absicht des Codes zu verstehen.
・ Was kann aus dem Code extrahiert werden? ・ "Hilfskommentar" zur Ergänzung des schrecklichen Codes → Korrigieren Sie den Code, anstatt einen Kommentar zu schreiben
Meine Gedanken aufzuzeichnen · Schreiben Sie, warum der Code so aussieht und nicht umgekehrt
Denken Sie aus der Sicht des Lesers ・ Fügen Sie einen Kommentar hinzu, in Erwartung dessen, was die Person, die den Code liest, "Was?" ・ Dokumentieren Sie ein Verhalten, das den durchschnittlichen Leser überrascht
Wie kann ich es genau und präzise schreiben? Kommentare sollten ein hohes Informationsverhältnis zum Bereich aufweisen.
Soll ich das mit drei Zeilen erklären? → Wenn Sie in einer Zeile erklären können, verwenden Sie eine Zeile.
Ich weiß nicht, was "es" oder "das" bedeutet. Zum Beispiel //データをキャッシュに入れる。ただし先にそのサイズをチェックする。 Ich weiß nicht, was "das" in diesem Fall bedeutet. Es ist verwirrend, daher ist es leichter zu verstehen, wenn Sie die Nomenklatur in die Synonyme einfügen.
//データをキャッシュに入れる。ただし先にデータサイズをチェックする。
Genaue Kommentare und Prägnanz sind oft kompatibel.
Beispiel
//これまでにクロールしたURLかどうかによって優先度を変える ↓ //これまでにクロールしていないURLの優先度を高くする
Der Boden ist einfach, kurz und direkt.
Kommentare, die nur das Verhalten des Codes schreiben, wie es ist ✖︎
Schreiben Sie in die Kommentare, was Sie gedacht haben, als Sie den Code geschrieben haben. Dies macht es leicht zu bemerken, dass der Code und die Kommentare inkonsistent sind (sogenannte Bugs). Kommentare spielen die Rolle einer redundanten Inspektion.
Schreiben Sie einen Kommentar mit möglichst vielen Informationen auf kleinem Raum
・ Vermeiden Sie Synonyme wie "es" und "dies", die sich auf mehrere Dinge beziehen können ・ Erklären Sie die Funktionsweise der Funktion so genau wie möglich. ・ Wählen Sie sorgfältig die tatsächlichen Eingabe- / Ausgabebeispiele aus, die in die Kommentare aufgenommen werden sollen · Die Code-Absicht wird auf einer hohen Ebene geschrieben, nicht auf einer Detailebene
Machen Sie den Kontrollfluss wie Bedingungen und Schleifen so "natürlich" wie möglich. Schreiben Sie, damit der Leser des Codes nicht anhält oder zurückliest!
if (length >= 10)
Oder
if (10 =< length)
Offensichtlich ist der erste leichter zu lesen.
Hierfür gibt es eine Richtlinie.
Linke Seite → Formel "Untersuchungsziel". Veränderung. Rechte Seite → Formel "Vergleichsziel". Es ändert sich nicht viel.
Es ist das gleiche wie Englisch.
Es gibt Überlegenheit und Unterlegenheit in der Reihenfolge
・ Verwenden Sie ein positives System anstelle einer negativen Zustandsform. Verwenden Sie beispielsweise if (debug) anstelle von if (! Debug). ・ Schreiben Sie zuerst einfache Bedingungen. Leicht zu erkennen, da if und else auf demselben Bildschirm angezeigt werden. ・ Schreiben Sie die Bedingungen auf, die Aufmerksamkeit erregen oder zuerst auffallen
Je nach Situation kann es zu Konflikten kommen. In diesem Fall liegt es in Ihrem eigenen Ermessen.
Es hat den Vorteil, in einer Zeile organisiert zu sein, aber im Gegenteil, es ist schwierig, mit einem Debugger zu lesen und durchzugehen.
Verkürzen Sie die Zeit, die andere zum Verstehen benötigen, anstatt die Anzahl der Zeilen zu verkürzen
Einige Leute denken, dass Sie nicht mehrere return-Anweisungen in einer Funktion verwenden sollten, aber das ist falsch. Es ist gut, schnell von der Funktion zurückzukehren.
Verschachtelter Code ist schwer zu verstehen. Schauen Sie sich den Code frisch an, wenn Sie Änderungen vornehmen. Machen Sie einen Schritt zurück und schauen Sie sich das Ganze an.
Können Sie dem Ablauf der Ausführung folgen?
Die Verwendung von Komponenten macht es schwierig, dem Code zu folgen. Thread → Ich bin nicht sicher, welcher Code wann ausgeführt wird. Signal- / Interrupt-Handler → Möglicherweise wird anderer Code ausgeführt. Ausnahme → Verschiedene Funktionsaufrufe stehen kurz vor dem Ende
Die Verwendung dieser Komponenten kann andererseits Ihren Code leichter lesbar und weniger redundant machen. Wenn Sie es nicht richtig verwenden, verlieren Sie den Überblick über den Code.
Teilen Sie die riesige Formel in Stücke, die leicht zu schlucken sind
Achten Sie auf "intelligente" Codes. Später wird es verwirrend, wenn andere den Code lesen.
Es ist schwierig, eine riesige Formel auf einmal zu verstehen. Der einfachste Weg, dies zu tun, besteht darin, "erklärende Variablen" einzuführen. Erklärende Variablen, die große Ausdruckswerte enthalten, haben drei Vorteile ・ Eine riesige Formel kann geteilt werden · Sie können Ihren Code dokumentieren, indem Sie den Ausdruck mit einem kurzen Namen erläutern ・ Für den Leser wird es einfacher, das Haupt- "Konzept" des Codes zu erkennen.
Eine andere Möglichkeit besteht darin, das Gesetz von De Morgan zu verwenden, um die Logik zu manipulieren.
Wenn Sie komplizierte Logik sehen, teilen Sie sie aggressiv auf!
Löschen Sie die Variable
Der Code entfernt Variablen, die nicht lesbar sind. → Der Code ist präzise und leicht verständlich.
Reduzieren Sie den Umfang der Variablen.
Es ist richtig, globale Variablen zu vermeiden. → Es ist schwierig zu verfolgen, wo und wie es verwendet wird. Es ist eine gute Idee, den Umfang aller Variablen zu verkleinern, nicht nur globaler Variablen.
Reduzieren Sie die Anzahl der Codezeilen, in denen die Variable angezeigt wird, so weit wie möglich.
Es wird empfohlen, den Zugriff so weit wie möglich zu beschränken, um den Code zu reduzieren, der die Variablen sichtbar macht. → Warum? Weil Sie die Variablen reduzieren können, über die Sie sofort nachdenken müssen
Schreiben Sie Variablen nur einmal
→ Variablen, die sich "nicht dauerhaft ändern", sind einfach zu handhaben.
Je mehr Stellen Sie Variablen bearbeiten, desto schwieriger ist es, den aktuellen Wert zu ermitteln.
Programmvariablen wachsen schnell und können nicht mehr verfolgt werden Code ist leichter zu lesen, wenn Sie Variablen reduzieren und ihn so leicht wie möglich gestalten
・ Störvariablen löschen
Engineering ist die Aufteilung großer Probleme in kleinere und die Konstruktion von Lösungen für jedes Problem.
In diesem Kapitel geht es darum, nicht verwandte Unterprobleme aktiv zu finden und zu extrahieren.
Recommended Posts