it-swarm.com.de

Wie sieht der Code eines guten Programmierers aus?

Ich bin ein Hobby-Programmierer (begann mit VBA, um Excel schneller zu machen) und arbeite mit VB.NET/C # .NET und versuche, ADO.NET zu lernen.

Eine Facette der Programmierung, die mich immer frustriert hat, ist, wie "gut" aussieht? Ich bin kein Profi, habe also wenig zu vergleichen. Was macht einen besseren Programmierer aus? Ist es:

  • Sie haben ein besseres Verständnis für alle Objekte/Klassen/Methoden in einer bestimmten Sprache?
  • Ihre Programme sind effizienter?
  • Das Design ihrer Programme ist viel besser in Bezug auf eine bessere Dokumentation, eine gute Auswahl an Namen für Funktionen usw.?

Anders ausgedrückt, wenn ich mir den Code eines professionellen Programmierers anschaue, was ist das Erste, was ich an ihrem Code im Vergleich zu meinem bemerken würde? Zum Beispiel las ich Bücher wie 'Professional ASP.NET' von Wrox Press. Sind die Codebeispiele in diesem Buch "Weltklasse"? Ist das der Höhepunkt? Würde sich ein Top-Programmierer diesen Code ansehen und denken, es sei ein guter Code?

87
Alex P

Die folgende Liste ist nicht vollständig, aber das sind die Dinge, an die ich gedacht habe, als ich Ihre Frage geprüft habe.

  • Guter Code ist gut organisiert. Daten und Operationen in Klassen passen zusammen. Es gibt keine externen Abhängigkeiten zwischen Klassen. Es sieht nicht aus wie "Spaghetti".

  • Gute Codekommentare erklären, warum Dinge getan werden, nicht was getan wird. Der Code selbst erklärt, was getan wird. Die Notwendigkeit von Kommentaren sollte minimal sein.

  • In gutem Code werden aussagekräftige Namenskonventionen für alle Objekte außer den kurzlebigsten verwendet. Der Name eines Objekts gibt Auskunft darüber, wann und wie das Objekt verwendet werden soll.

  • Guter Code ist gut getestet. Tests dienen als ausführbare Spezifikation des Codes und als Beispiele für dessen Verwendung.

  • Guter Code ist nicht "clever". Es macht die Dinge auf einfache, offensichtliche Weise.

  • Guter Code wird in kleinen, leicht lesbaren Recheneinheiten entwickelt. Diese Einheiten werden im gesamten Code wiederverwendet.

Ich habe es noch nicht gelesen, aber das Buch, das ich zu diesem Thema lesen möchte, ist Clean Code von Robert C. Martin.

128
tvanfosson

Das Erste, was Sie bemerken werden, ist, dass ihr Code einem konsistenten Codierungsstil folgt. Sie schreiben ihre Strukturblöcke immer gleich, rücken religiös ein und kommentieren gegebenenfalls.

Das zweite, was Sie bemerken werden, ist, dass der Code in kleine Methoden/Funktionen unterteilt ist, die höchstens ein paar Dutzend Zeilen umfassen. Sie verwenden auch selbstbeschreibende Methodennamen und im Allgemeinen ist ihr Code sehr gut lesbar.

Das dritte, was Ihnen auffällt, nachdem Sie ein wenig mit dem Code herumgespielt haben, ist, dass die Logik leicht zu befolgen, leicht zu ändern und daher leicht zu warten ist.

Danach benötigen Sie einige Kenntnisse und Erfahrungen in Software-Designtechniken, um die spezifischen Entscheidungen zu verstehen, die beim Erstellen der Codearchitektur getroffen wurden.

In Bezug auf Bücher habe ich nicht viele Bücher gesehen, in denen der Code als "Weltklasse" angesehen werden könnte. In Büchern versuchen sie vor allem, einfache Beispiele zu präsentieren, die für die Lösung sehr einfacher Probleme relevant sein können, jedoch komplexere Situationen nicht widerspiegeln.

94
Eran Galperin

Fowler zitieren, Lesbarkeit summieren:

Jeder Dummkopf kann Code schreiben, den ein Computer verstehen kann.
Gute Programmierer schreiben Code, den Menschen verstehen können.

'nough said.

70
chakrit

Persönlich muss ich "The Zen of Python" von Tim Peters zitieren. Es sagt Python Programmierern, wie ihr Code aussehen soll, aber ich finde, dass es im Grunde auf allen Code zutrifft.

Schön ist besser als hässlich.
Explizit ist besser als implizit.
Einfach ist besser als komplex.
Komplex ist besser als kompliziert.
Flach ist besser als verschachtelt.
Spärlich ist besser als dicht.
Lesbarkeit zählt.
Sonderfälle sind nicht speziell genug, um die Regeln zu brechen.
Obwohl die Zweckmäßigkeit die Reinheit übertrifft.
Fehler sollten niemals unbemerkt bleiben.
Sofern nicht ausdrücklich zum Schweigen gebracht.
Weigern Sie sich angesichts von Zweideutigkeiten, die Versuchung zu erraten.
Es sollte einen - und am besten nur einen - offensichtlichen Weg geben, dies zu tun.
Auch wenn dieser Weg auf den ersten Blick nicht offensichtlich ist, es sei denn, Sie sind Holländer.
Jetzt ist besser als nie.
Obwohl nie oft besser ist als richtig jetzt.
Wenn die Implementierung schwer zu erklären ist, ist es eine schlechte Idee.
Wenn die Implementierung einfach zu erklären ist, ist dies möglicherweise eine gute Idee.
Namespaces sind eine großartige Idee - machen wir mehr davon!

30
Andrew

Code ist Poesie.

Wenn Sie von diesem logischen Punkt ausgehen, können Sie viele der wünschenswerten Codequalitäten ableiten. Beachten Sie vor allem, dass Code weitaus häufiger gelesen wird als geschrieben. Schreiben Sie daher Code für den Leser. Umschreiben, Umbenennen, Bearbeiten und Umgestalten für den Leser.

Eine Folgerung daraus:

Der Leser sind Sie zum Zeitpunkt n ab dem Erstellungsdatum des Codes. Die Auszahlung des Schreibcodes für den Leser ist eine monoton ansteigende Funktion von n. Ein Leser, der Ihren Code zum ersten Mal betrachtet, wird durch n == unendlich angezeigt.

Mit anderen Worten, je größer die Zeitspanne zwischen dem Schreiben des Codes und dem erneuten Aufrufen des Codes ist, desto mehr werden Sie Ihre Bemühungen, für den Leser zu schreiben, zu schätzen wissen. Jeder, dem Sie Ihren Code aushändigen, profitiert von dem Code, der mit dem Leser als wichtigster Überlegung geschrieben wurde.

Eine zweite Folge:

Code, der ohne Rücksicht auf den Leser geschrieben wurde, ist möglicherweise unnötig schwer zu verstehen oder zu verwenden. Wenn die Überlegung für den Leser einen bestimmten Schwellenwert unterschreitet, leitet der Leser aus dem Code einen geringeren Wert ab als den Wert, der durch das Neuschreiben des Codes erzielt wird. In diesem Fall wird der vorherige Code verworfen und während des Umschreibens wird tragischerweise viel Arbeit wiederholt.

Eine dritte Folge:

Es ist bekannt, dass sich Korollar 2 in einem Teufelskreis schlecht dokumentierter Codes, gefolgt von erzwungenen Neuschreibungen, mehrmals wiederholt.

16

Ich programmiere seit 28 Jahren und finde es schwierig, diese Frage zu beantworten. Für mich ist guter Code ein komplettes Paket. Der Code ist sauber geschrieben und enthält aussagekräftige Variablen- und Methodennamen. Es hat gut platzierte Kommentare, die die Absicht des Codes kommentieren und nicht nur den Code wieder auffliegen lassen, den Sie bereits lesen können. Der Code tut auf effiziente Weise, was er soll, ohne Ressourcen zu verschwenden. Es muss auch mit Blick auf die Wartbarkeit geschrieben werden.

Das Fazit ist jedoch, dass es für verschiedene Menschen verschiedene Dinge bedeutet. Was ich als guten Code bezeichnen könnte, könnte jemand anderes hassen. Guter Code hat einige gemeinsame Eigenschaften, die ich oben identifiziert habe.

Das Beste, was Sie tun können, ist, sich dem Code auszusetzen. Schauen Sie sich den Code anderer Leute an. Open Source-Projekte sind dafür eine gute Quelle. Sie werden guten und schlechten Code finden. Je genauer Sie sich das ansehen, desto besser erkennen Sie, was Sie als guten und schlechten Code bezeichnen.

Letztendlich wirst du dein eigener Richter sein. Wenn Sie Stile und Techniken finden, die Sie gerne anwenden, werden Sie mit der Zeit einen eigenen Stil entwickeln, der sich mit der Zeit ändern wird. Es gibt hier niemanden, der einen Zauberstab schwingen und sagen kann, was gut und was schlecht ist.

15
bruceatk

Lesen Sie das Buch Code Complete. Dies erklärt viele Ideen zur Strukturierung von Code und die Gründe dafür. Das Lesen sollte Ihre Zeit verkürzen, um die Erfahrung zu sammeln, die erforderlich ist, um Gutes von Schlechtem zu unterscheiden.

http://www.Amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1229267173&sr=8-1

11
Scott Langham

Nachdem ich selbst fast 10 Jahre lang programmiert habe und mit anderen gearbeitet habe, kann ich ohne Vorurteile sagen, dass es gibt keinen Unterschied zwischen einem guten Programmierer und einem durchschnittlichen Programmierer-Code

Alle Programmierer auf kompetentem Niveau:

  • Richtig kommentieren
  • Effizient strukturieren
  • Sauber dokumentieren

Ich habe einmal gehört, wie ein Kollege sagte: " Ich war immer sehr logisch und rational eingestellt. Ich denke, deshalb entwickle ich gerne ."

Das ist meiner Meinung nach der Geist eines durchschnittlichen Programmierers. Einer, der die Welt in Bezug auf Regeln und Logik sieht und letztendlich diese Regeln befolgt, wenn er ein Programm entwirft und schreibt.

Der erfahrene Programmierer versteht die Regeln, aber auch deren Kontext. Dies führt letztendlich dazu, dass sie neue Ideen und Implementierungen entwickeln, die das Markenzeichen eines erfahrenen Programmierers tragen. Programmierung ist letztendlich eine Kunstform.

8
AAA
  • Leicht zu lesen
  • einfach zu schreiben
  • pflegeleicht

alles andere ist filigran

6
kloucks

Kurz gesagt, kann ein guter Programmierercode gelesen und verstanden werden.

Meiner Meinung nach ist ein guter Programmierercode sprachunabhängig ; Gut geschriebener Code kann unabhängig von der verwendeten Programmiersprache mit minimalem Aufwand in kurzer Zeit gelesen und verstanden werden. Unabhängig davon, ob der Code in Java, Python, C++ oder Haskell vorliegt, ist gut geschriebener Code für Leute verständlich, die nicht einmal in dieser bestimmten Sprache programmieren.

Einige Eigenschaften von Code, die einfach zu lesen sind, sind gut benannte Methoden, fehlende "Tricks" und verschlungene "Optimierungen", Klassen sind gut entworfen, um nur einige zu nennen. Wie andere bereits erwähnt haben, ist der Codierungsstil konsistent, prägnant und direkt .

Neulich habe ich mir zum Beispiel den Code für TinyMCE angesehen, um eine der Fragen zu Stack Overflow zu beantworten. Es ist in JavaScript geschrieben, einer Sprache, die ich kaum benutzt habe. Aufgrund des Codierungsstils und der darin enthaltenen Kommentare sowie der Strukturierung des Codes selbst war dies jedoch ziemlich verständlich, und ich konnte innerhalb weniger Minuten durch den Code navigieren.

Ein Buch, das mir die Augen geöffnet hat , wenn es darum geht, guten Programmierer-Code zu lesen, ist Schöner Code . Es enthält viele Artikel von Autoren verschiedener Programmierprojekte in verschiedenen Programmiersprachen. Doch als ich es las, konnte ich verstehen, was der Autor in seinem Code schrieb, obwohl ich noch nie in dieser Sprache programmiert hatte.

Vielleicht sollten wir daran denken, dass es bei der Programmierung auch um Kommunikation geht, nicht nur mit dem Computer, sondern mit den Menschen . Guter Programmiercode ist also fast wie ein gut geschriebenes Buch, das kann dem Leser mitteilen, welche Ideen er vermitteln möchte.

6
coobird

Guter Code sollte leicht zu verstehen sein.
Es sollte gut kommentiert werden.
Schwierige Stellen sollten noch besser kommentiert werden.

5
Burkhard

Guter Code ist lesbar. Wenn Sie den Code zum ersten Mal lesen, den ein guter professioneller Programmierer geschrieben hat, haben Sie kein Problem damit, die Funktionsweise des Codes zu verstehen.

4
Bill the Lizard

Anstatt die großartigen Vorschläge aller anderen zu wiederholen, schlage ich stattdessen vor, dass Sie das Buch Code Complete von Steve McConnell lesen

Im Grunde ist es ein Buch voller bewährter Programmiermethoden für Funktionalität und Stil.

3
cweston

Ich wollte nur meine 2 Cent hinzufügen ... Kommentare in Ihrem Code - und Ihr Code selbst im Allgemeinen - sollten sagen, was Ihr Code tut, jetzt, wie es tut. Sobald Sie das Konzept des "Client" -Codes haben, also des Codes, der anderen Code aufruft (das einfachste Beispiel ist Code, der eine Methode aufruft), sollten Sie sich immer die größte Sorge machen, Ihren Code aus der Perspektive des "Clients" nachvollziehbar zu machen. Wenn Ihr Code wächst, werden Sie feststellen, dass dies ... gut ist.

Bei vielen anderen Dingen über guten Code geht es um die mentalen Sprünge, die Sie machen werden (auf jeden Fall, wenn Sie aufpassen) ... 99% von ihnen haben damit zu tun, dass Sie jetzt ein bisschen mehr Arbeit leisten, um Ihnen eine Menge zu ersparen später arbeiten und Wiederverwendbarkeit. Und auch, wenn ich es richtig mache: Ich möchte fast immer in die andere Richtung laufen, anstatt reguläre Ausdrücke zu verwenden, aber jedes Mal, wenn ich in sie hineinkomme, sehe ich, warum jeder sie in jeder einzelnen Sprache verwendet, in der ich arbeite (Sie sind abstrus, aber arbeiten und könnten wahrscheinlich nicht besser sein).

In Bezug auf das Anschauen von Büchern würde ich nach meiner Erfahrung definitiv nicht sagen. Schauen Sie sich APIs und Frameworks sowie Code-Konventionen und den Code anderer an und verwenden Sie Ihre eigenen Instinkte. Versuchen Sie zu verstehen, warum das Zeug so ist, wie es ist und was die Auswirkungen der Dinge sind. Das, was Code in Büchern so gut wie nie tut, ist das Planen für das Ungeplante. Darum geht es bei der Fehlerprüfung. Dies zahlt sich nur aus, wenn jemand Ihnen eine E-Mail sendet und sagt, "Ich habe Fehler 321" statt "Hey, die App ist kaputt, yo."

Guter Code wird mit Blick auf die Zukunft geschrieben, sowohl aus Sicht des Programmierers als auch aus Sicht des Benutzers.

3
Dan Rosenstark

[Rein subjektive Antwort]
Guter Code ist für mich eine Kunstform, genau wie ein Gemälde. Ich könnte noch weiter gehen und sagen, dass es sich tatsächlich um eine Zeichnung handelt, die Zeichen, Farben, "Form" oder "Struktur" des Codes enthält, und das alles so lesbar/performant ist. Die Kombination aus Lesbarkeit, Struktur (dh Spalten, Einrückung, sogar Variablennamen gleicher Länge!), Farbe (Klassennamen, Variablennamen, Kommentare usw.) ergibt alles, was ich als "schönes" Bild sehen möchte mach mich entweder sehr stolz oder sehr verabscheuungswürdig gegenüber meinem eigenen Code.

(Wie gesagt, sehr subjektive Antwort. Entschuldigung für mein Englisch.)

2
Hosam Aly

Ich stimme der Empfehlung von Bob Martins "Clean Code" zu.

"Beautiful Code" wurde vor ein paar Jahren hoch gelobt.

Alle Bücher von McConnell sind lesenswert.

Vielleicht wäre auch "The Pragmatic Programmer" hilfreich.

%

2
duffymo

ich unterstütze die Empfehlung für Onkel Bobs "Clean Code". aber Sie möchten vielleicht einen Blick auf http://www.Amazon.com/Implementation-Patterns-Addison-Wesley-Signature-Kent/dp/0321413091 werfen, da ich denke, dass dies mit Ihrer spezifischen Frage zu tun hat ein bisschen besser. Ein guter Code sollte von der Seite springen und Ihnen sagen, was er tut/wie er funktioniert.

1
Ray Tayek

Jeff Atwood schrieb einen netten Artikel darüber, wie Codierer Typisten sind. Erste Referenz: http://www.codinghorror.com/blog/archives/001188.html

Wenn Sie ein Schreibkraft sind, müssen Sie immer elegant in Ihrer Arbeit sein, eine strukturierte und korrekte "Grammatik" ist sehr wichtig. Die Konvertierung in "Programmieren" würde zu demselben Ergebnis führen.

Struktur

Kommentare

Regionen

Ich bin ein Software-Ingenieur, was bedeutet, dass ich während meiner Ausbildung auf viele verschiedene Sprachen gestoßen bin, aber meine Programmierung "fühlt" sich immer gleich an, wie mein Schreiben auf fekberg.wordpress.com, ich habe eine "spezielle" Art zu tippen.

Jetzt programmiere ich verschiedene Anwendungen und in verschiedenen Sprachen, wie Java, C #, Assembler, C++, C. Ich bin zum "Standard" des Schreibens gekommen, den ich mag.

Ich sehe alles als "Kästchen" oder Regionen, und in jeder Region wird das Kommentieren erklärt. Eine Region könnte "Klasse Person" sein und innerhalb dieser Region habe ich ein paar Methoden für Eigenschaften, die ich "Zugriffsmethoden" oder so nennen kann und jede Eigenschaft und Region hat ihre eigenen erklärenden Kommentare.

Das ist sehr wichtig, ich sehe meinen Code immer als "Teil einer API sein", wenn ich eine API-Struktur erstelle, und Eleganz ist [~ # ~] sehr [~ # ~] wichtig.

Denk darüber nach. Lesen Sie auch meine Arbeit über Communication issues when adapting outsourcing was grob erklärt, wie schlimm Code sein kann, Enterpret wie Sie möchten: http://fekberg.wordpress.com/2008/12/14/communication-issues-when-adapting-outsourcing/ =

1
Filip Ekberg

Dies wird in Fowlers Buch "Refactoring" ziemlich gut beantwortet. Es ist das Fehlen aller "Gerüche", die er im ganzen Buch beschreibt.

1
dkretz

Ich habe 'Professional ASP.NET' noch nicht gesehen, würde mich aber wundern, wenn es besser als OK ist. Siehe diese Frage für einige Bücher mit wirklich gutem Code. (Es variiert natürlich, aber die akzeptierte Antwort ist schwer zu übertreffen.)

1
Darius Bacon

Dies scheint eine FAQ zu sein (sollte es sein). Es gibt ein ACM-Artikel über schönen Code in letzter Zeit. Es scheint viel Wert darauf zu gelegt zu werden, leicht zu lesen und zu verstehen. Ich würde dies mit "leicht zu lesen/verstehen von Domain-Experten" qualifizieren. Wirklich gute Programmierer neigen dazu, die besten Algorithmen (anstelle von naiven, leicht verständlichen O (n ^ 2) -Algorithmen) für bestimmte Probleme zu verwenden, die schwer zu befolgen sein können, wenn Sie mit dem Algorithmus nicht vertraut sind, selbst wenn die guten nicht Programmierer gibt einen Verweis auf den Algorithmus.

Niemand ist perfekt, einschließlich guter Programmierer, aber sein Code strebt nach :

  1. Korrektheit und Effizienz mit bewährten Algorithmen (anstelle von naiven und Ad-hoc-Hacks)
  2. Klarheit (Absichtserklärung in Bezug auf nicht triviale Algorithmen)
  3. Vollständigkeit der Grundlagen (Kodierungskonvention, Versionierung, Dokumentation, Komponententests etc.)
  4. Prägnanz (TROCKEN)
  5. Robustheit (widerstandsfähig gegen willkürliche Eingaben und Unterbrechung von Änderungsanforderungen)
1
ididak

Guter Code ist leicht zu verstehen, leicht zu warten und leicht zu ergänzen. Im Idealfall ist es auch so effizient wie möglich, ohne andere Indikatoren zu opfern.

0
Nerdfest

Großartiger Code ist für mich etwas, das einfach zu verstehen und dennoch raffiniert ist. Die Dinge, die dich dazu bringen zu gehen, "Wow, natürlich, warum habe ich nicht so darüber nachgedacht?" Wirklich guter Code ist nicht schwer zu verstehen, sondern löst das vorliegende Problem einfach (oder rekursiv, wenn dies noch einfacher ist).

0
HS.

Guter Code ist, wo Sie wissen, was die Methode aus dem Namen macht. In Bad Code muss man herausfinden, was der Code tut, um den Namen zu verstehen.

Guter Code ist der Ort, an dem Sie, wenn Sie ihn lesen, verstehen können, was er in nicht viel mehr Zeit tut, als zum Lesen erforderlich ist. Schlechter Code ist der Ort, an dem Sie ihn für eine Ewigkeit betrachten, um herauszufinden, ob er es tut.

Guter Code hat Dinge, die so benannt sind, dass triviale Kommentare überflüssig werden.

Guter Code neigt dazu, kurz zu sein.

Guter Code kann wiederverwendet werden, um das zu tun, was er anderswo tut, da er sich nicht auf Dinge stützt, die wirklich nichts mit seinem Zweck zu tun haben.

Guter Code besteht in der Regel aus einer Reihe einfacher Tools für einfache Aufgaben (die auf gut organisierte Weise zusammengestellt werden, um anspruchsvollere Aufgaben zu erledigen). Schlechter Code ist in der Regel ein riesiges Mehrzweck-Tool, das leicht zu knacken und schwer zu verwenden ist.

0
ChrisA

Code spiegelt die Fähigkeiten und die Denkweise eines Programmierers wider. Gute Programmierer haben immer die Zukunft im Blick - wie der Code funktioniert, wenn Anforderungen oder Umstände nicht genau dem entsprechen, was sie heute sind. Wie skalierbar wird es sein? Wie bequem wird es sein, wenn ich nicht derjenige bin, der diesen Code verwaltet? Wie wiederverwendbar der Code sein wird, damit jemand anderes, der ähnliche Dinge tut, den Code wiederverwenden und nicht erneut schreiben kann. Was ist, wenn jemand anderes versucht, den von mir geschriebenen Code zu verstehen?.

Wenn ein Programmierer diese Einstellung hat, passen alle anderen Dinge gut zusammen.

Hinweis: Eine Codebasis wird im Laufe der Zeit von vielen Programmierern bearbeitet, und in der Regel gibt es keine spezifische Bezeichnung der Codebasis für einen Programmierer. Daher spiegelt guter Code alle Unternehmensstandards und die Qualität der Belegschaft wider.

0
Ather

(Ich benutze "er" unten, weil dies die Person ist, die ich anstrebe zu sein, manchmal mit Erfolg).

Ich glaube, der Kern der Philosophie eines guten Programmierers ist, dass er immer denkt: "Ich programmiere für die Zukunft, wenn ich diese Aufgabe vergessen habe, warum ich daran gearbeitet habe, was die Risiken waren und sogar wie diese Code sollte funktionieren. "

Als solches muss sein Code:

  1. Arbeit (es spielt keine Rolle, wie schnell Code die falsche Antwort erhält. In der realen Welt gibt es keine teilweise Anerkennung).
  2. Erklären Sie, woher er weiß, dass dieser Code funktioniert. Dies ist eine Kombination aus Dokumentation (Javadoc ist mein bevorzugtes Tool), Ausnahmebehandlung und Testcode. In einem sehr realen Sinne glaube ich, dass Testcode Zeile für Zeile wertvoller ist als funktionaler Code, wenn nicht aus einem anderen Grund als dem, der erklärt, "dieser Code funktioniert, so sollte er verwendet werden, und deshalb sollte ich ihn bekommen bezahlt."
  3. Gepflegt werden. Toter Code ist ein Albtraum. Die Wartung von Legacy-Code ist eine lästige Pflicht, muss jedoch durchgeführt werden (und denken Sie daran, dass es sich um "Legacy" handelt, sobald es Ihren Schreibtisch verlässt).

Andererseits glaube ich, dass der gute Programmierer diese Dinge niemals tun sollte:

  1. Über Formatierung besessen. Es gibt eine Vielzahl von IDEs, Editoren und Pretty-Printern, die den Code genau nach dem Standard oder den persönlichen Vorlieben formatieren können, die Sie für angemessen halten. Ich verwende Netbeans, stelle die Formatoptionen einmal ein und drücke ab und zu Alt-Shift-F. Entscheiden Sie, wie der Code aussehen soll, richten Sie Ihre Umgebung ein und lassen Sie das Tool das Grunzen ausführen.
  2. Obsess über Namenskonventionen auf Kosten der menschlichen Kommunikation. Wenn eine Namenskonvention Sie dazu veranlasst, Ihre Klassen "IElephantProviderSupportAbstractManagerSupport" und nicht "Zookeeper" zu nennen, ändern Sie den Standard, bevor Sie es der nächsten Person erschweren.
  3. Vergiss, dass er als Team mit echten Menschen zusammenarbeitet.
  4. Vergessen Sie, dass die Hauptursache für Codierungsfehler momentan auf seiner Tastatur liegt. Wenn es einen Fehler oder Irrtum gibt, sollte er zuerst auf sich selbst schauen.
  5. Vergiss, dass das, was herumgeht, herumkommt. Jegliche Arbeit, die er jetzt tut, um seinen Code für zukünftige Leser zugänglicher zu machen, wird ihm mit ziemlicher Sicherheit direkt zugute kommen (denn wer wird als erster gebeten, sich seinen Code anzuschauen? Er ist es).
0
Bob Cross
  • Der beste Code hat eine gewisse Eleganz, die Sie erkennen, sobald Sie ihn sehen.
  • Es sieht mit Sorgfalt und Liebe zum Detail handgefertigt aus. Es ist offensichtlich mit jemandem mit Geschick produziert und hat eine Kunst darüber - man könnte sagen, es sieht geformt und poliert aus, anstatt rau und fertig.
  • Es ist konsistent und liest sich leicht.
  • Es ist in kleine, sehr zusammenhängende Funktionen unterteilt, von denen jede eine Sache macht und es gut macht.
  • Es ist minimal gekoppelt, was bedeutet, dass Abhängigkeiten gering sind und streng kontrolliert werden, normalerweise durch ...
  • Funktionen und Klassen sind eher abhängig von Abstraktionen als von Implementierungen.
0
Mike Scott

Ich habe ein gutes Beispiel:

Lesen Sie den GWT-Quellcode (google web tookit). Sie werden sehen, dass jeder Dummkopf ihn versteht (einige englische Bücher sind schwerer zu lesen als dieser Code).

0
Nicolas Dorier

Wenn Sie C++ - Code schreiben, gibt es ein sehr gutes Buch mit hervorragenden Codierungsstandards, auf das wir uns bei uni beziehen:C++ - Codierungsstandards: 101 Regeln, Richtlinien und Best Practices"von Herb Sutter, Andrei Alexandrescu und Bjarne Stroustrup.

0
Brock Woolf

Ironischerweise wird der besser der Programmierer der weniger unentbehrlich er/sie, weil der erzeugte Code von jedermann besser gewartet werden kann (wie mit allgemeiner Zustimmung von Eran Galperin angegeben).

Meiner Erfahrung nach trifft auch das Gegenteil zu. Je schlechter der Programmierer desto schwieriger zu pflegen sein/ihr Code ist, desto nverzichtbarer wird er/sie, da keine andere Seele verstehen kann die Rätsel entstanden.

0
  1. Es klappt
  2. Es hat Unit-Tests, die beweisen, dass es funktioniert

Der Rest ist Sahnehäubchen ...

0
Ali Afshar