10 Tipps für das Schreiben von Cleaner & Better Code
Ohne Zweifel ist das Programmieren schwierig. Wie man das Programmieren ohne all den Stress lernt. Wie man das Programmieren ohne all den Stress lernt. Vielleicht haben Sie sich entschieden, das Programmieren fortzusetzen, ob für eine Karriere oder nur als Hobby. Großartig! Aber vielleicht fangen Sie an, sich überfordert zu fühlen. Nicht so toll. Hier finden Sie Hilfe, um Ihre Reise zu erleichtern. Weiterlesen . Es ist eine Sache, Sprachen zu lernen und Algorithmen zu studieren, aber es ist ein ganz anderes Tier, das versucht, eine komplexe Arbeitsanwendung zu programmieren, die nicht dazu führt, dass Sie Ihre Augen herauskratzen wollen.
In gewisser Weise ist das Schreiben von sauberem Code dem Zeichnen, Kochen oder Fotografieren sehr ähnlich Glück. Hier sind ein paar kreative Hobbys, die nachweislich auf diese Weise helfen. Lesen Sie mehr - es sieht einfacher aus, als es eigentlich ist. Wieso sich die Mühe machen? Nun, weil die Vorteile es wert sind:
- Probleme werden leichter zu lösen. Sobald Sie in sauberem Code denken, ändert sich Ihr Ansatz zur Problemlösung. Anstatt brutale Zwangslösungen zu verwenden, werden Ihre Algorithmen und das Software-Design eleganter und absichtlicher.
- Für die Wartung wird weniger Zeit verschwendet. Clean Code ist einfacher zu lesen und zu verstehen, sodass Sie weniger Zeit damit verbringen, herauszufinden, was bestimmte Segmente tatsächlich tun, und mehr Zeit für das Reparieren, Überarbeiten, Erweitern usw.
- Ideen werden klarer kommuniziert. Wenn Sie mit anderen Programmierern zusammenarbeiten, verringert Clean Code die Wahrscheinlichkeit von Missverständnissen zwischen Ihnen allen, was auf lange Sicht auch weniger Fehler bedeutet.
So können Sie mit dem Schreiben von sauberem Code beginnen.
1. Verwenden Sie beschreibende Namen
Was sind Variablen, Klassen und Funktionen? Es gibt viele Möglichkeiten, dies 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 beschreibende Namen für Variablen, Klassen und Funktionen verwenden, Sie verschleiern im Wesentlichen die Anwendungslogik von jedem Programmierer, der den Code liest, auch dich selbst.
“Ich bin kein großartiger Programmierer. Ich bin einfach ein guter Programmierer mit tollen Gewohnheiten.”
- Kent Beck
Wie heißt eine Variable? dxy
eigentlich meinen Wer weiß. Sie müssen wahrscheinlich den gesamten Codeblock lesen, um seine Bedeutung umzukehren. Andererseits ist die Bedeutung einer Variablen wie distanceBetweenXY
ist sofort erkennbar.
Gleiches gilt für Klassen und Funktionen. Geben Sie sich nicht damit zufrieden CalcTan ()
wenn du gehen kannst CalculateTangent ()
oder CalcTangentAngle ()
stattdessen.
2. Geben Sie jeder Klasse / Funktion einen Zweck
Haben Sie schon einmal in eine Funktion hineingesehen, die hunderte oder sogar tausende Zeilen lang war? Wenn ja, wissen Sie, wie schmerzhaft es sein kann, zu browsen, zu verstehen und zu bearbeiten. Kommentare können helfen, aber nur in begrenztem Umfang.
“Die Programmierung teilt eine große unmögliche Aufgabe in mehrere kleine mögliche Aufgaben auf.”
- Jazzwant
Sauberer Code wird in atomare Brocken zerlegt. Jede Funktion sollte darauf abzielen, eine einzige Aufgabe zu erfüllen, und jede Klasse sollte darauf abzielen, einen bestimmten Begriff darzustellen. Dies ist natürlich eine Vereinfachung, aber im Zweifel ist einfacher sauberer.
In der Praxis mag eine komplexe Berechnung wie GetCreditScore ()
Möglicherweise muss in mehrere Hilfsfunktionen unterteilt werden GetCreditReports ()
, ApplyCreditHistoryAge ()
, und FilterOutstandingMarks ()
.
3. Löschen Sie nicht benötigten Code
Diese schlechte Angewohnheit ist eine, mit der ich immer noch zu kämpfen habe. Normalerweise geschieht dies folgendermaßen: Ich möchte ein Stück Code korrigieren oder optimieren, also kommentiere ich es aus und schreibe es direkt darunter - und obwohl es funktioniert, behalte ich den alten Code nur für den Fall.
“Ist es möglich, dass Software nicht wie alles andere ist, dass sie weggeworfen werden soll: Es geht darum, sie immer als Seifenblase zu betrachten?”
- Alan J. Perlis
Im Laufe der Zeit sammle ich eine ganze Menge auskommentierter Codeblöcke, die nicht mehr benötigt werden, aber meine Quelldateien durcheinanderbringen. Und das Komische ist, dass sich in vielen Fällen der umgebende Code weiterentwickelt hat, sodass der kommentierte Code selbst bei Wiederherstellung nicht funktionieren würde.
Die Sache ist, diese Praxis des Kommentierens “Sicherungscode” wurde durch Quellcodeverwaltung obsolet gemacht. Wenn Sie nicht etwas wie Git oder Mercurial verwenden, müssen Sie sofort mit der Verwendung der Quellcodeverwaltung beginnen. Was ist Git? Warum sollten Sie Versionskontrolle verwenden? Wenn Sie ein Entwickler sind? Was ist Git? Warum sollten Sie Versionskontrolle verwenden? Als Entwickler Als Webentwickler arbeiten wir meistens auf lokalen Entwicklungsseiten und laden dann einfach alles hoch, wenn wir fertig sind. Dies ist in Ordnung, wenn es nur Sie sind und die Änderungen klein sind. Cleaner-Code erwartet Sie.
4. Lesbarkeit> Cleverness
Zu viele Programmierer konvergieren “sauberer Code” mit “cleverer Code”, als ob das Zusammenpressen von zehn Zeilen zu einer sauberer ist. Sicher, es braucht weniger Platz auf dem Bildschirm, aber ist es eigentlich einfacher zu verstehen? Manchmal vielleicht. Aber die meiste Zeit? Nein.
“Jeder weiß, dass das Debuggen doppelt so schwer ist wie das Schreiben eines Programms. Wenn Sie also beim Schreiben so klug sind, wie Sie sein können, wie werden Sie es jemals debuggen??”
- Brian W. Kernighan
Ich denke, Programmierer lieben klugen Code, weil er sich wie ein gelöstes Puzzle oder Rätsel anfühlt. Sie fanden einen besonderen und einzigartigen Weg, um etwas zu implementieren - a “Abkürzung” Wenn Sie wollen - und beinahe wie eine Bestätigung der Fähigkeiten des Programmierers.
Aber um einen sauberen Code zu schreiben, müssen Sie Ihr Ego an der Tür lassen.
Optimieren Sie immer den Code für die nächste Person, die ihn lesen wird, denn aller Wahrscheinlichkeit nach wird SIE die nächste Person sein, und es gibt nichts Schändlicheres, als nicht in der Lage zu sein, Ihre eigene Klugheit zu lesen oder zu verstehen.
5. Behalten Sie einen konsistenten Codierungsstil bei
Ich habe nichts gegen gute Programmierlehrgänge Was macht ein gutes Programmierlehrgang aus? Was macht ein gutes Lernprogramm aus? Nicht alle Programmier-Tutorials sind gleich. Einige profitieren davon, dass Sie und andere Ihre Zeit verschwenden. Hier ist, worauf Sie in einem Qualitätsprogrammierungs-Tutorial achten sollten. Lesen Sie mehr, aber einer der Nachteile ist, dass Neulinge eine Vielzahl von widersprüchlichen Gewohnheiten aufgreifen, zumal sie sich auf den Codierstil beziehen.
Ich bin nicht hier, um zu erklären, dass ein Stil besser ist als ein anderer. Wenn Sie eine geschweifte Klammer in ihren eigenen Zeilen haben möchten, dann gehen Sie dafür. Wenn Sie Methodenaufrufen mit Leerzeichen vorangehen möchten, ist dies in Ordnung. Wenn Sie Tabs gegenüber Leerzeichen bevorzugen, lassen Sie sich nicht anders überzeugen.
Aber was auch immer Sie tun, bleiben Sie konsequent!
Schön ist besser als hässlich.
Explicit 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 verwenden möchten camelCaseNaming
Verändern Sie es bei Variablen nicht mit unterstrichen_name
. Wenn du benutzt GetThisObject ()
an einem Ort, geh nicht mit FetchThatObject ()
irgendwo anders. Und wenn Sie Tabs und Leerzeichen mischen, sollten Sie Ihre Tastatur wegnehmen.
Entscheiden Sie, was Sie von Anfang an tun und bleiben Sie durch und durch. Einige Sprachen wie Python und C # verfügen über sprachweite Style-Guides, denen Sie folgen möchten.
6. Wählen Sie die richtige Architektur
Es gibt viele verschiedene Paradigmen und Architekturen, die Sie zum Erstellen Ihrer Projekte verwenden können. Beachten Sie, wie dieser Tipp zum Auswählen von ist Recht eine für Ihre Bedürfnisse, nicht über die Auswahl der Beste einer da draußen. Es gibt kein “Beste” Hier.
“Ohne Anforderungen und Design ist das Programmieren die Kunst, Fehler in eine leere Textdatei einzufügen.”
- Louis Srygley
Zum Beispiel ist das Model-View-Controller (MVC) -Muster derzeit in der Webentwicklung sehr beliebt, da es hilft, Ihren Code so zu organisieren und zu gestalten, dass der Wartungsaufwand minimiert wird.
In ähnlicher Weise ist das Entity-Component-System (ECS) -Muster gerade in der Spieleentwicklung sehr beliebt, da es die Modularisierung von Spieldaten und -logik auf eine Art und Weise ermöglicht, die den Unterhalt erleichtert, und gleichzeitig Code erzeugt, der leichter lesbar ist.
7. Die Redewendungen der Sprache beherrschen
Eine der Schwierigkeiten bei der Beherrschung einer neuen Programmiersprache 7 Nützliche Tricks für die Beherrschung einer neuen Programmiersprache 7 Nützliche Tricks für die Beherrschung einer neuen Programmiersprache Es ist in Ordnung, beim Lernen von Code überwältigt zu sein. Sie werden die Dinge wahrscheinlich so schnell vergessen, wie Sie sie lernen. Diese Tipps helfen Ihnen dabei, all diese neuen Informationen besser aufzubewahren. Lesen Sie mehr, um die Nuancen zu erlernen, die es von allen anderen Sprachen trennen. Diese Nuancen können den Unterschied zwischen hässlichem, gewundenem Code und schönem, einfach zu verwaltendem Code ausmachen.
Betrachten Sie Python, Java und JavaScript. Sie unterscheiden sich alle extrem voneinander, und zwar in einem Maße, in dem a erforderlich ist unterschiedliche Denkweise, abhängig davon, welche Sprache Sie wählen.
“Eine Sprache, die die Art und Weise, wie Sie über das Programmieren denken, nicht beeinflusst, ist nicht wissenswert.”
- Alan J. Perlis
Während es bei Python nur um kompakten Code und das Eingeben von Enten geht, steht Java eher auf der Seite von Ausführlichkeit und Explicitness. Jede Sprache hat Redewendungen (wie z. B. Listenverständnisse in Python), die eine bestimmte Art der Codierung fördern. Sie würden gut tun, um sie zu lernen.
Es gibt auch “Anti-Muster” Bedenken, dass dies im Wesentlichen suboptimale Entwurfsmuster sind, die zu ineffizientem, unzuverlässigem oder anderweitig schlechtem Code führen. Lernen und lernen Sie alle gängigen Antimuster, die sich auf Ihre bevorzugte Sprache beziehen.
8. Studieren Sie den Code of Masters
Wenn Sie sauberen Code schreiben möchten, können Sie am besten herausfinden, wie sauberer Code aussieht, und versuchen, zu verstehen, warum er so ist - und es gibt keinen besseren Weg, als die Quelldateien der Industrie zu studieren Meister.
Offensichtlich können Sie nicht einfach in die Microsoft-Zentrale gehen und einen Blick auf ihre Projekte werfen, sondern Sie können immer bekannte Open-Source-Projekte durchsuchen. So zeigen Sie den Quellcode einer Open-Source-App an So zeigen Sie den Quellcode an und bearbeiten ihn Eine Open-Source-App Obwohl Open Source eine gute Wahl sein kann, 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 des Designs von vorhandenem Code
Das ist einer der Gründe, warum es Open Source-Projekte gibt. 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 für Benutzer großartig, da Open Source-Software in der Regel kostenlos zur Verfügung steht und oft sicherer ist. Aber was zwingt Entwickler, Code kostenlos beizutragen? Lesen Sie mehr: damit andere von ihnen lernen können. Wenn Sie sich entscheiden, zu einem solchen Projekt beizutragen, kann dies den Lernprozess beschleunigen. 5 Projektideen, damit Sie schneller programmieren können 5 Projektideen, die Ihnen helfen, schneller zu lernen Es gibt mehrere Möglichkeiten, die Lernkurve für die Programmierung zu vereinfachen. Machen Sie sich die Hände schmutzig und lernen Sie schneller mit Nebenprojekten, die Sie jederzeit beginnen können. Mit diesen fünf herumspielen. Weiterlesen .
Zum ersten Mal sah ich wirklich sauberen Code, als ich über ein Open Source-Python-Projekt eines bestimmten Bastlers stolperte. Der Code war so überwältigend elegant, dass ich fast mit dem Programmieren aufhörte, aber es brachte mir sehr viel bei.
9. Schreiben Sie gute Kommentare
“Schreiben Sie gute Kommentare” ist der älteste Ratschlag in der Welt der Programmierung. Sobald Neulinge mit Kommentaren bekannt gemacht werden, werden sie dazu angeregt, so oft wie möglich zu kommentieren.
Es fühlt sich fast so an, als ob wir zu weit in die entgegengesetzte Richtung geschwenkt hätten. Insbesondere Neulinge neigen dazu, überkompliziert zu kommentieren - Dinge zu beschreiben, die nicht beschrieben werden müssen, und den Sinn dessen zu übersehen “Guter Kommentar” ist eigentlich.
“Immer Code, als ob der Typ, der seinen Code erhalten hat, ein gewalttätiger Psychopath sein wird, der weiß, wo Sie leben.”
- John Woods
Hier ist eine gute Faustregel: Es gibt Kommentare, die erklären, warum ein Stück Code existiert und nicht, WAS der Code tatsächlich tut. Wenn der Code sauber genug ist, sollte er selbsterklärend sein, was er tut - der Kommentar sollte Aufschluss über die Absicht geben, warum er geschrieben wurde.
Kommentare können gut für Warnungen sein (d. H. “Wenn Sie dies entfernen, werden A, B und C beschädigt”) sollten jedoch zum größten Teil Dinge aufdecken, die nicht sofort aus dem Code entnommen werden können (d. h. “Verwenden Sie diesen Parameter, da X, Y und Z”).
10. Refactor, Refactor, Refactor
So wie das Editieren Teil des Schreibvorgangs ist, ist auch das Refactoring Teil des Codierungsprozesses. Eine Abneigung gegen das Refactoring ist der schnellste Weg, um mit unverwundbarem Code zu enden. In vielerlei Hinsicht ist dies tatsächlich der wichtigste zu berücksichtigende Tipp.
Kurz gesagt, Refactoring ist nur ein schicker Begriff für die Bereinigung des Codes, ohne das tatsächliche Verhalten zu beeinträchtigen.
“Wann immer ich darüber nachdenken muss, was der Code tut, frage ich mich, ob ich den Code umgestalten kann, um dieses Verständnis sofort deutlicher zu machen.”
- Martin Fowler, Refactoring: Verbesserung des Designs von vorhandenem Code
Ein bisschen Weisheit, die bei mir geblieben ist, ist das Sprichwort, “Kommentiere nicht den schlechten Code. Schreib es neu.” Wie Fowler in dem obigen Zitat erläutert, kann es sein, dass Sie den Code ändern müssen, wenn er sich so verwirrend genug fühlt, dass Sie ihn kommentieren müssen.
Darüber hinaus bearbeiten Sie hier und da Bits des Codes in Ihrem Projekt, Lassen Sie den Code immer in einem besseren Zustand als beim ersten Auffinden. Es mag im Moment wie ein Ärgernis wirken, aber es wird sich auf lange Sicht bezahlt machen (und kann sogar das geistige Burnout abwenden Der Code kann körperlich und emotional stark belastet werden. Alles, was Sie brauchen, um wieder aufzustehen, ist das Bewusstsein, dass die Motivation wieder hergestellt werden kann..
Es gibt immer etwas Neues zu lernen
Ein Programmierer, der lernt, reinen Code zu schreiben, ist einem Schriftsteller ähnlich, der lernt, reine Prosa zu schreiben: Es gibt keinen richtigen Weg, um es per se zu tun, aber es gibt viele falsche Wege, es zu tun, und es wird dauern Jahre zu meistern.
Einige Leute haben nicht das Zeug dazu und beenden schließlich das Programmieren für immer. 6 Zeichen, dass Sie nicht als Programmierer gedacht sind 6 Zeichen, dass Sie nicht als Programmierer gedacht sind Nicht jeder ist dazu bestimmt, Programmierer zu sein. Wenn Sie nicht ganz sicher sind, ob Sie ein Programmierer sein sollen, finden Sie hier einige Hinweise, die möglicherweise in die richtige Richtung weisen. Lesen Sie mehr - und das ist in Ordnung, denn es gibt viele andere technische Jobs, die keine Codierung beinhalten. Coding ist nicht für jeden geeignet: 7 Tech-Jobs, die Sie ohne es bekommen können Codierung ist nicht für jeden geeignet: 7 Tech-Jobs, die Sie ohne es bekommen können Lassen Sie sich nicht entmutigen, wenn Sie ein Teil des Tech-Bereichs sein möchten - es gibt viele Jobs für Leute, die nicht wissen, wie man codiert! Weiterlesen .
Aber für alle anderen ist sauberer Code absolut etwas, worauf es unbedingt Wert ist, auch wenn es den Rest Ihres Lebens braucht, um dorthin zu gelangen.
Wie wichtig ist Ihnen sauberer Code? Nach welchen Regeln halten Sie Ihren Code sauber und organisiert? Hast du noch andere Weisheiten zu teilen? Lass es uns in den Kommentaren wissen!
Erfahren Sie mehr über: Programmierung.