10 Tipps zum Schreiben von Cleaner & Better Code

Sauberer Code zu schreiben sieht einfacher aus als es tatsächlich ist, aber die Vorteile sind es wert. So können Sie heute anfangen, saubereren Code zu schreiben.

Sauberer Code zu schreiben sieht einfacher aus als es tatsächlich ist, aber die Vorteile sind es wert.  So können Sie heute anfangen, saubereren Code zu schreiben.
Werbung

Ohne Zweifel ist die Programmierung schwierig. Wie man programmiert, ohne den ganzen Stress zu lernen. Wie man Programmierung ohne den ganzen Stress lernt Vielleicht haben Sie sich entschieden, das Programmieren fortzusetzen, sei es für eine Karriere oder einfach nur als Hobby. Groß! Aber vielleicht fängst du an, dich überwältigt zu fühlen. Nicht so toll. Hier ist Hilfe, um Ihre Reise zu erleichtern. Weiterlesen . Es ist eine Sache, Sprachen zu lernen und Algorithmen zu studieren, aber es ist eine ganz andere Bestie, die versucht, eine komplexe Arbeitsanwendung zu programmieren, die dich nicht dazu bringt, dir die Augen zu verdrehen.

In gewisser Weise ist das Schreiben von sauberem Code viel wie Zeichnen, Kochen oder Fotografieren. 5 Kreative Hobbys, die dich glücklicher machen werden 5 Kreative Hobbys, die dich glücklicher machen Ein richtiger kreativer Ausgang kann Wunder für deine mentale Gesundheit und insgesamt bewirken Glück. Hier sind einige kreative Hobbies, die nachweislich helfen. Lesen Sie mehr - es sieht einfacher aus als es tatsächlich ist. Wieso sich die Mühe machen? Nun, weil die Vorteile es wert sind:

  • Probleme werden einfacher zu lösen. Sobald Sie anfangen, in sauberem Code zu denken, ändert sich Ihr Ansatz zur Problemlösung. Anstelle von Brute Forcing-Lösungen werden Ihre Algorithmen und Ihr Software-Design eleganter und absichtlicher.
  • Es wird weniger Zeit für die Wartung verschwendet. Sauberer Code ist einfacher zu lesen und zu verstehen, so dass Sie weniger Zeit damit verbringen, herauszufinden, was bestimmte Segmente tatsächlich tun, und mehr Zeit für das Reparieren, Überarbeiten, Erweitern usw. zu haben.
  • Ideen werden klarer kommuniziert. Wenn Sie mit anderen Programmierern arbeiten, reduziert sauberer Code die Wahrscheinlichkeit von Missverständnissen zwischen Ihnen allen, was auf lange Sicht auch weniger Fehler bedeutet.

Hier können Sie beginnen, sauberen Code zu schreiben.

1. Verwenden Sie beschreibende Namen

Was sind Variablen, Klassen und Funktionen? Es gibt viele Möglichkeiten, das zu beantworten, aber wenn Sie wirklich darüber nachdenken, sind diese Dinge nichts anderes als die Schnittstelle zwischen einem Programmierer und der zugrunde liegenden Logik einer Anwendung.

Wenn Sie also unklare und nicht beschreibbare Namen für Variablen, Klassen und Funktionen verwenden, verschleiern Sie im Wesentlichen die Anwendungslogik von jedem Programmierer, der den Code liest, einschließlich Sie selbst.

"Ich bin kein großartiger Programmierer; Ich bin nur ein guter Programmierer mit guten Gewohnheiten. "
- Kent Beck

Was bedeutet eine Variable namens dxy eigentlich? Wer weiß. Sie müssten wahrscheinlich den gesamten Codeabschnitt lesen, um seine Bedeutung zurückzuentwickeln. Auf der anderen Seite ist die Bedeutung einer Variablen wie distanceBetweenXY sofort erkennbar.

Das Gleiche gilt für Klassen und Funktionen. CalcTan() Sie sich nicht mit CalcTan() wenn Sie stattdessen CalculateTangent() oder CalcTangentAngle() verwenden können.

2. Geben Sie jeder Klasse / Funktion einen Zweck

Haben Sie jemals in eine Funktion gesehen, die Hunderte oder sogar Tausende von Zeilen lang war? Wenn Sie haben, dann wissen Sie, wie viel Schmerz es sein kann zu durchsuchen, zu verstehen und zu bearbeiten. Kommentare können nur bedingt helfen.

"Die Programmierung bricht eine große unmögliche Aufgabe in mehrere kleine mögliche Aufgaben."
- Jazzwant

Sauberer Code wird in atomare Teile zerlegt. Jede Funktion sollte darauf abzielen, eine einzige Sache zu machen, und jede Klasse sollte darauf abzielen, ein bestimmtes Konzept zu repräsentieren. Dies ist natürlich eine Vereinfachung, aber im Zweifel ist einfacher sauberer.

In der Praxis muss eine komplexe Berechnung wie GetCreditScore() möglicherweise in mehrere GetCreditReports() wie GetCreditReports(), ApplyCreditHistoryAge() und FilterOutstandingMarks() .

3. Löschen Sie unnötigen Code

Diese schlechte Angewohnheit ist eine, mit der ich von Zeit zu Zeit immer noch zu kämpfen habe. Es passiert normalerweise so: Ich möchte ein Stück Code reparieren oder optimieren, damit ich es kommentiere und direkt darunter schreibe - und obwohl es funktioniert, behalte ich den alten Code für alle Fälle bei.

"Ist es möglich, dass Software nicht wie alles andere ist, dass sie weggeworfen werden soll: dass der Sinn darin besteht, sie immer als Seifenblase zu sehen?"
- Alan J. Perlis

Im Laufe der Zeit sammle ich eine Menge auskommentierter Code-Blöcke, die nicht mehr benötigt werden, aber meine Quelldateien durcheinander bringen. Und das Lustige ist, dass in vielen Fällen der Code in der Umgebung weiterentwickelt wurde, so dass der auskommentierte Code nicht funktioniert, selbst wenn er wiederhergestellt wurde.

Die Sache ist, diese Praxis des Auskommentierens von "Backup-Code" wurde durch die Quellcodeverwaltung obsolet gemacht. Wenn Sie etwas wie Git oder Mercurial nicht verwenden, müssen Sie sofort mit der Quellcodeverwaltung beginnen. Was ist Git? Warum sollten Sie Versionskontrolle verwenden? Wenn Sie ein Entwickler sind Was ist Git? Warum sollten Sie Versionskontrolle verwenden? Ein Entwickler Als Webentwickler arbeiten wir oft auf lokalen Entwicklungsseiten und laden dann einfach alles hoch, wenn wir fertig sind. Das ist in Ordnung, wenn es nur Sie und die Änderungen sind klein, ... Lesen Sie mehr. Cleaner Code erwartet Sie.

4. Lesbarkeit> Cleverness

Zu viele Programmierer verschmelzen "sauberen Code" mit "cleverem Code", als ob das Komprimieren von zehn Zeilen zu einem etwas sauberer wäre. Sicher, es nimmt weniger Platz auf dem Bildschirm ein, aber ist es tatsächlich einfacher zu verstehen? Manchmal, vielleicht. Aber die meiste Zeit? Nein.

"Jeder weiß, dass das Debuggen doppelt so schwierig ist wie das Schreiben eines Programms. Also, wenn du so schlau bist, wie du es sein kannst, wenn du es schreibst, wie willst du es jemals debuggen? "
- Brian W. Kernighan

Ich denke, Programmierer lieben cleveren Code, weil es sich wie ein gelöstes Rätsel oder Rätsel anfühlt. Sie haben eine spezielle und einzigartige Art gefunden, etwas zu implementieren - eine "Abkürzung", wenn Sie so wollen - und es dient fast als Bestätigung der Fähigkeiten des Programmierers.

Aber um sauberen Code zu schreiben, musst du dein Ego an der Tür lassen.

Optimiere immer den Code für die nächste Person, die sie lesen wird, denn wahrscheinlich wird die nächste Person DU sein und es gibt nichts Schändlicheres, als deine eigene Klugheit nicht lesen oder verstehen zu können.

5. Behalten Sie einen konsistenten Codierungsstil bei

Ich habe nichts gegen gute Programmierung Tutorials Was macht eine gute Programmierung Tutorial? Was macht ein gutes Programmierungs-Tutorial? Nicht alle Programmiertutorials sind gleich. Einige profitieren Sie und andere am Ende verschwenden Ihre Zeit. Hier ist, was Sie in einem hochwertigen Programmier-Tutorial suchen sollten. Lesen Sie mehr, aber einer der Nachteile ist, dass Neulinge am Ende eine Vielzahl von widersprüchlichen Gewohnheiten aufgreifen, vor allem, wenn sie sich auf den Stil der Codierung beziehen.

Ich bin nicht hier, um zu erklären, dass ein Stil besser ist als ein anderer. Wenn Sie Klammern auf ihren eigenen Linien wollen, gehen Sie dafür. Wenn Sie Methodenaufrufen mit Leerzeichen vorausgehen möchten, ist es in Ordnung. Wenn du Tabulatoren vor Leerzeichen bevorzugst, lass mich dich nicht anders überzeugen.

Aber was auch immer du tust, bleib konsistent!

Schön ist besser als hässlich.
Explizit ist besser als implizit.
Einfach ist besser als komplex.
Komplex ist besser als kompliziert.
Flat ist besser als verschachtelt.
Sparse ist besser als dicht.
Lesbarkeit zählt.
- Tim Peters, Das Zen von Python

Wenn Sie camelCaseNaming für Variablen verwenden camelCaseNaming, verfälschen Sie es nicht mit underscore_naming . Wenn Sie GetThisObject() an einer Stelle verwenden, gehen Sie nicht mit FetchThatObject() woanders hin. Und wenn Sie Tabulatoren und Leerzeichen mischen, verdienen Sie es, Ihre Tastatur wegzunehmen.

Entscheiden Sie von Anfang an, was Sie tun werden, und bleiben Sie dabei durch und durch. Einige Sprachen, wie Python und C #, verfügen über sprachweite Formatvorlagen, denen Sie möglicherweise folgen möchten.

6. Wählen Sie die richtige Architektur

Es gibt viele verschiedene Paradigmen und Architekturen, mit denen Sie Ihre Projekte erstellen können. Beachten Sie, dass es in diesem Tipp darum geht, den richtigen für Ihre Bedürfnisse auszuwählen und nicht den besten zu wählen. Es gibt kein "Bestes" hier.

"Ohne Anforderungen und Design ist Programmieren die Kunst, einer leeren Textdatei Fehler hinzuzufügen."
- Louis Srygley

Zum Beispiel ist das Model-View-Controller (MVC) -Muster gerade in der Webentwicklung sehr beliebt, da es hilft, den Code so zu organisieren und zu gestalten, dass der Wartungsaufwand minimiert wird.

Ebenso ist das Entity-Component-System (ECS) -Muster gerade in der Spieleentwicklung sehr beliebt, da es hilft, Spieldaten und Logik auf eine Weise zu modularisieren, die den Unterhalt erleichtert, während gleichzeitig Code erzeugt wird, der einfacher zu lesen ist.

7. Meistere die Redewendungen der Sprache

Eine der Schwierigkeiten beim Beherrschen einer neuen Programmiersprache 7 Nützliche Tricks zum Beherrschen einer neuen Programmiersprache 7 Nützliche Tricks zum Beherrschen einer neuen Programmiersprache Es ist in Ordnung, überwältigt zu sein, wenn Sie lernen, zu programmieren. Sie werden die Dinge wahrscheinlich so schnell vergessen, wie Sie sie lernen. Diese Tipps können Ihnen helfen, diese neuen Informationen besser zu speichern. Lesen Sie mehr lernt die Nuancen, die es von allen anderen Sprachen trennen. Diese Nuancen können den Unterschied zwischen hässlichem, gewundenem Code und schönem, leicht zu wartendem Code ausmachen.

Betrachten Sie Python, Java und JavaScript. Sie unterscheiden sich alle extrem voneinander in einem Grad, der eine andere Art des Denkens erfordert , je nachdem, welche Sprache du benutzt .

"Eine Sprache, die die Art und Weise, wie Sie über das Programmieren nachdenken, nicht beeinflusst, ist nicht wissenswert."
- Alan J. Perlis

In Python dreht sich alles um kompakter Code und Duck Typisierung, Java ist mehr auf der Seite von Ausführlichkeit und Explizitheit. Jede Sprache hat Idiome (wie Listen-Comprehensions in Python), die eine bestimmte Art der Codierung fördern. Sie würden gut tun, um sie zu lernen.

Es gibt auch "Anti-Patterns", um die man sich kümmern muss, bei denen es sich im Grunde um suboptimale Designmuster handelt, die zu ineffizientem, unzuverlässigem oder anderweitig schlechtem Code führen. Studieren und verlernen Sie alle gängigen Anti-Muster in Bezug auf Ihre Sprache der Wahl.

8. Studiere den Code of Masters

Wenn Sie sauberen Code schreiben möchten, ist es am besten, zu sehen, wie sauberer Code aussieht und zu verstehen, warum er so ist - und es gibt keinen besseren Weg, dies zu tun, als die Quelldateien der Industrie zu studieren Meister.

Natürlich können Sie nicht einfach in Microsofts Headquarter kommen und einen Blick auf ihre Projekte werfen, aber Sie können immer bekannte Open-Source-Projekte durchsuchen. Wie man den Quellcode einer Open-Source-App sieht und bearbeitet Wie man den Quellcode sieht und bearbeitet Eine Open-Source-App Obwohl Open Source eine gute Wahl ist, müssen Sie auch in die richtige Community investieren. GitHub ist einer der besten Orte, um dies zu tun, nicht nur wegen der schiere Menge ... Read More. Weiß nicht wo ich anfangen soll? Probieren Sie die präsentierten Projekte auf Github aus.

"Jeder Dummkopf kann Code schreiben, den ein Computer verstehen kann. Gute Programmierer schreiben Code, den Menschen verstehen können. "
- Martin Fowler, Refactoring: Verbesserung der Gestaltung des bestehenden Kodex

Dies ist einer der Gründe, warum Open-Source-Projekte existieren. Warum tragen Menschen zu Open-Source-Projekten bei? Warum tragen Menschen zu Open-Source-Projekten bei? Open-Source-Entwicklung ist die Zukunft der Software. Es ist großartig für Benutzer, da Open-Source-Software in der Regel kostenlos und oft sicherer zu verwenden ist. Aber was zwingt Entwickler dazu, Code kostenlos beizutragen? Lesen Sie mehr: So können andere von ihnen lernen. Und wenn Sie sich dazu entschließen, zu einem solchen Projekt beizutragen, kann es den Lernprozess beschleunigen. 5 Projektideen, die Ihnen helfen, schneller zu programmieren 5 Projektideen, die Ihnen helfen, schneller zu programmieren Es gibt einige Möglichkeiten, die Lernkurve für die Programmierung zu vereinfachen. Machen Sie Ihre Hände schmutzig und lernen Sie schneller mit Nebenprojekten, die Sie jederzeit starten können. Spielen Sie mit diesen fünf herum. Weiterlesen .

Ich persönlich habe das erste Mal wirklich sauberen Code gesehen, als ich über das Open-Source-Python-Projekt eines bestimmten Hobbyisten stolperte. Der Code war so überwältigend elegant, dass ich fast aufhören würde zu programmieren, aber es hat mir viel beigebracht.

9. Schreibe gute Kommentare

"Schreibe gute Kommentare" ist der älteste Ratschlag in der Programmierwelt. Sobald Neulinge in Kommentare eingeführt werden, werden sie so oft wie möglich dazu ermutigt, Kommentare abzugeben.

Aber es fühlt sich fast so an, als wären wir zu weit in die entgegengesetzte Richtung gegangen. Gerade Neulinge tendieren dazu, zu viel zu kommentieren - Dinge zu beschreiben, die nicht beschrieben werden müssen, und zu übersehen, was ein "guter Kommentar" eigentlich ist.

"Schreiben Sie immer so, als ob der Typ, der Ihren Code beibehält, ein gewalttätiger Psychopath ist, der weiß, wo Sie leben."
- John Woods

Hier ist eine gute Faustregel: Kommentare existieren, um zu erklären, WARUM ein Stück Code existiert, anstatt WAS der Code tatsächlich tut. Wenn der Code sauber genug geschrieben wird, sollte es selbsterklärend sein, was er tut - der Kommentar sollte die Absicht dahinter aufklären, warum er geschrieben wurde.

Kommentare können gut für Warnungen sein (dh "das Entfernen wird A, B und C brechen"), aber sollten größtenteils Dinge aufdecken, die nicht sofort aus dem Code entnommen werden können (zB "verwende diesen Parameter, weil X, Y, und Z ").

10. Refaktor, Refaktor, Refaktor

So wie das Editieren Teil des Schreibprozesses ist, ist das Refactoring ein Teil des Kodierungsprozesses. Eine Abneigung gegen Refactoring ist der schnellste Weg, um nicht mehr zu erreichenden Code zu erhalten, also ist dies in vielerlei Hinsicht der wichtigste zu beachtende Tipp.

Kurz gesagt, das Refactoring ist nur ein fiktiver Begriff, um den Code zu bereinigen, ohne sein tatsächliches Verhalten zu beeinflussen.

"Immer wenn ich darüber nachdenken muss, was der Code macht, frage ich mich, ob ich den Code umgestalten kann, um dieses Verständnis sofort sichtbar zu machen."
- Martin Fowler, Refactoring: Verbesserung der Gestaltung des bestehenden Kodex

Ein bisschen Weisheit, die mir geblieben ist, ist das Sprichwort: "Nenne keinen schlechten Code. Schreiben Sie es neu. "Wie Fowler im obigen Zitat erklärt, wenn Code jemals so verwirrend wirkt, dass Sie ihn kommentieren müssen, müssen Sie ihn vielleicht sogar umgestalten.

Wenn Sie hier und da während des gesamten Projekts Codeabschnitte bearbeiten, sollten Sie den Code immer in einem besseren Zustand lassen als bei der ersten Suche . Es mag im Moment wie ein Ärgernis erscheinen, aber es wird sich auf lange Sicht auszahlen (und kann sogar psychischen Burnout abwehren). Programmieren Burnout: Wie man seine verlorene Motivation wiedererlangt Programmieren Burnout: Wie man seine verlorene Motivation wiedererlangt Schreiben Sie alle diese Zeilen Der Code kann physisch und emotional entwässert werden und Sie brauchen nur das Bewusstsein, dass die Motivation wiederhergestellt werden kann.

Es gibt immer etwas Neues zu lernen

Ein Programmierer, der lernt, sauberen Code zu schreiben, ähnelt einem Romanschriftsteller, der lernt, saubere Prosa zu schreiben: Es gibt keinen richtigen Weg, dies per se zu tun, aber es gibt viele falsche Wege, dies zu tun, und es wird dauern Jahre zu meistern.

Einige Leute haben nicht, was es braucht und schließlich am Ende der Programmierung für gute 6 Zeichen, die Sie nicht sein müssen, um ein Programmierer 6 Zeichen, dass Sie nicht ein Programmierer sein müssen Nicht jeder ist ausgeschnitten, um ein Programmierer zu sein. Wenn Sie nicht ganz sicher sind, dass Sie ein Programmierer sein sollen, sind hier einige Zeichen, die Sie in die richtige Richtung weisen können. Lesen Sie mehr - und das ist in Ordnung, denn es gibt viele andere Techy Jobs, die keine Kodierung Codierung ist nicht für alle: 7 Tech Jobs, die Sie ohne es bekommen kann Coding ist nicht für alle: 7 Tech Jobs, die Sie ohne es bekommen können Sei nicht entmutigt, wenn du ein Teil des Tech-Bereichs sein willst - es gibt viele Jobs für Leute, die nicht wissen, wie man programmiert! Weiterlesen .

Aber für jeden anderen ist sauberer Code etwas, das absolut erstrebenswert ist, selbst wenn es den Rest Ihres Lebens braucht, um dorthin zu gelangen.

Wie wichtig ist sauberer Code für Sie? Welche Regeln befolgen Sie, um Ihren Code sauber und organisiert zu halten? Hast du noch andere Weisheiten zum Teilen? Lass es uns in den Kommentaren wissen!

In this article