32 Stimmen

Ist Code für Computer oder für Menschen?

Letztendlich wird der Code (irgendwann) in Anweisungen für eine CPU kompiliert. Code ist jedoch (meiner bescheidenen Meinung nach) für Menschen gedacht, die ihn lesen, aktualisieren und mit ihm interagieren. Dies führt mich zu der folgenden Feststellung:

Code, der von anderen Ingenieuren nicht gelesen werden kann, selbst wenn er funktional ist, ist schlechter Code.

Was kann dieser Programmierer also tun, um den Code für Menschen leichter lesbar zu machen?

  • Benennungskonventionen? (Joel hat dazu eine ganze Menge zu sagen)

  • Code-Struktur/Layout? (bitte, um Himmels willen, kommen Sie nicht auf die { Platzierungsdebatte)

  • Phrasierung? (Ist es möglich, einen Code zu schreiben, der der englischen Sprache ähnlicher ist)

Gibt es gute Artikel, die über die Joel's .

72voto

Charlie Martin Punkte 106684

Ja.

Wenn der Computer sie nicht ausführt, ist sie kaputt. Wenn die Menschen sie nicht lesen können, ist sie kaputt. Bald.

52voto

Adam Bellaire Punkte 103525

"Jeder Narr kann Code schreiben, den ein Computer verstehen kann. Gute Programmierer schreiben Code, den Menschen verstehen können. verstehen können." -- Martin Fowler, "Refactoring: Verbesserung des Designs von bestehendem Code"

Aber da Sie bereits selbst zu diesem Schluss gekommen sind, genügt es zu sagen, dass dies ein großes Thema ist. Es ist etwas, auf das Sie keine einzige Antwort bekommen werden. Die Wartbarkeit Ihres Codes beschränkt sich nicht nur auf den Codierungsstil, sondern umfasst auch Ihr Gesamtdesign und Ihren Konstruktionsprozess. Hier sind einige Tags auf dieser Seite, wo so ziemlich alle Fragen und Antworten dieses Thema betreffen:

29voto

jalbert Punkte 2997

Programme sollten für Menschen geschrieben werden zum Lesen und nur in Ausnahmefällen für Maschinen zum Ausführen.

-- aus "Structure and Interpretation of Computer Programs" von Abelson und Sussman

16voto

coobird Punkte 155882

Dem Compiler ist es egal, ob Ihr Code sauber geschrieben oder ein unlesbares Durcheinander ist - solange die Syntax korrekt ist, wird der Code kompiliert und ausgeführt.

Allerdings Wenn es um die Wartung des Codes geht, ist ein sauber geschriebener Code für die Menschen sehr nützlich. Je weniger Zeit ein neuer Programmierer benötigt, um den Code zu verstehen, desto weniger Geld wird benötigt, um die neue Person auf den neuesten Stand zu bringen. Daher ist sauberer Code mehr wert. Was nützt es, wenn unleserlicher Code 5 % schneller arbeitet, wenn der Programmierer 100 % mehr Zeit braucht, um ihn zu verstehen? Schließlich kosten Programmierer eine ganze Menge Geld.

Das Schreiben von Code nach Codierungsstandards für Stil, Variablennamen usw. ist wichtig, damit der von mehreren Personen geschriebene Code einheitlich . Eine konsistente Codebasis, die einem guten Kodierungsstandard folgt, wird leichter zu warten sein.

Wenn es um die Optimierung von Code geht, kann dieser oft zu einem unleserlichen Durcheinander werden, aber im Allgemeinen sind die Compiler heutzutage besser in der Lage zu optimieren, so dass ein klarer geschriebener Code auch die Chancen erhöht, dass der Compiler bestimmte Konstrukte erkennt und Optimierungen daran vornimmt, was zu einer besseren Leistung führt.

Schreiben Sie für Menschen, nicht für die Maschine.

5voto

Ash Punkte 58914

Roedy Green hat einen ausführlichen Leitfaden mit dem Titel: Nicht wartungsfähiger Code .

"Was kann dieser Programmierer tun Programmierer tun, um den Code für Menschen leichter lesen?"

Antwort: Lesen Sie diesen Leitfaden und wenden Sie das Umgekehrte von allem, was darin steht, auf Ihre Entwicklungsaktivitäten an.

Zitat aus dem Abschnitt über die allgemeinen Grundsätze:

"Um den Wartungsprogrammierer zu überlisten, muss man verstehen, wie er denkt. Er hat Ihr riesiges Programm. Er hat keine Zeit, es ganz zu lesen, geschweige denn es zu verstehen. Er will schnell einen Ort finden, an dem er sein Geld wechseln kann, es machen und wieder gehen, ohne dass er unerwartete Nebenwirkungen der Veränderung.

Er betrachtet Ihren Code durch eine Toilette Toilettenpapier-Röhre. Er kann immer nur einen winzigen Stück Ihres Programms auf einmal sehen. Sie wollen sicherstellen, dass er niemals das das große Ganze. Sie wollen es ihm so schwer wie möglich machen den Code zu finden, den er sucht. suchen. Aber noch wichtiger ist es, dass Sie es so schwierig wie möglich für ihn machen alles sicher zu ignorieren.

Programmierer werden eingelullt Selbstgefälligkeit durch Konventionen. Von Zeit zu Zeit ab und zu durch subtile Verstöße gegen Konvention, zwingen Sie ihn, jede jede Zeile deines Codes mit einer Vergrößerungsglas zu lesen.

Man könnte auf die Idee kommen, dass jedes Spracheigenschaft den Code unwartbar macht - dem ist nicht so, nur wenn richtig missbraucht wird."

Es ist eine sehr nützliche Liste (abgesehen von der unerträglichen Werbung), die zeigt, was man vermeiden sollte, wenn man lesbaren / wartbaren Code schreiben will.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X