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 .

5voto

Mike Dunlavey Punkte 39339

Meine Meinung dazu ist ein wenig tangential - es geht nicht um die Lesbarkeit, sondern um die Wartbarkeit.

Lesen bedeutet, dass man sich den Code ansieht und denkt, man könne ihn lesen. In der Regel wird davon ausgegangen, dass ein Code für jemanden lesbar sein muss, der sich keine Mühe gegeben hat, ihn zu verstehen.

Wartung bedeutet, Änderungen vorzunehmen, um Fehler zu beheben oder neue/geänderte Anforderungen umzusetzen. Lesen ist nur ein Teil dieses Prozesses. Ich kenne keinen wartbaren Code, der nicht eine Lernkurve auf Seiten des Maintainers erfordert, und für jemanden, der diese Kurve nicht erklommen hat, sieht der Code "nicht lesbar" aus.

Gleichzeitig denke ich, dass es Teil der Verantwortung eines Programmierers ist, die den Betreuer unterrichten um ihnen zu helfen, die Lernkurve zu erklimmen. Eine Möglichkeit, dies zu tun, besteht darin, eine Schritt-für-Schritt-Anleitung zu hinterlassen, wie die zu erwartenden Änderungen durchzuführen sind.

Ich sehe oft Code, der mit Leerraum aufgebläht ist, damit weniger davon auf den Bildschirm passt, und der mit ausführlichen Bezeichnungen und schwammigen Kommentaren versehen ist. Das gibt den Abdruck der Lesbarkeit.

4voto

Chris Ballance Punkte 32892

<sarcasm> Der Code muss nur von einer Maschine gelesen werden. Solange das Endergebnis die Bedürfnisse des Benutzers erfüllt, spielt es keine Rolle, wie der Code aussieht. </sarcasm>

Wartbarer Code oder Code, der sich ändern kann, ist eine ganz andere Sache.

Würden Sie ein Haus mit einem Plan bauen, den Sie auf die Rückseite einer Serviette gekritzelt haben, oder würden Sie die Baupläne wegwerfen, nachdem Sie mit dem Bau eines Hauses fertig sind, an das Sie vielleicht eines Tages ein Zimmer anbauen möchten?

3voto

Logan5 Punkte 614

Ich würde empfehlen, einen Blick auf Sauberer Code von Robert Martin. Es ist ein großartiger Leitfaden, wie Sie Ihren Code lesbarer und, nun ja, sauberer machen können.

2voto

Dave Van den Eynde Punkte 16711

Verwenden Sie nicht ungarische Notation in einer typensicheren Sprache.

2voto

Ric Tokyo Punkte 6497

Ich denke, dass alles relativ ist.

Wenn Sie Code ändern müssen, ist der Code für Sie, wenn er ausgeführt wird, ist er für die Maschine.

Wenn ein Code funktional ist, kann er gelesen werden.

Der Mensch und das kooperative Wesen in Ihnen sollten dafür sorgen, dass der Code für andere Menschen leicht lesbar ist, aber letztlich liegt die Lesbarkeit von Code - abgesehen von den Konventionen - manchmal im Auge des Betrachters.

Je leichter der Code von Menschen gelesen werden kann, desto leichter kann er geändert und gewartet werden. Da die Evolution von der Anzahl der Beiträge zu einem Problem profitiert, kann diese Art von Code besser deklariert werden als unlesbarer Code.

Letztendlich muss der Code jedoch in eine Reihe von Anweisungen für die Maschine umgewandelt werden.

Menschliche Absichten werden in etwas übersetzt, dem die Maschine folgen kann, also ist der Code für beide, einer nach dem anderen.

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