
Dies ist eine Übersetzung von Michael McKees
Beitrag . Michael ist ein professioneller Programmierer, der von Zeit zu Zeit seine Erfahrungen und Fähigkeiten mit Kollegen teilt, sowohl Anfängern als auch Profis.
Die meisten Programmierer sind die letzten, die über die Ästhetik des von ihnen erstellten Codes nachdenken. Natürlich hält sich fast jeder an die allgemeinen Regeln. Aber was ist, wenn wir weiter gehen? Guter Code sollte an erster Stelle funktionieren. Aber ich glaube, dass er seinen eigenen Stil haben sollte, das gilt nicht nur für den Inhalt, sondern auch für die Form.
Skillbox empfiehlt: Praktischer Jahreskurs "PHP-Entwickler von Grund auf neu für PRO".
Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.
Dies ist eigentlich nicht der Fall. Hier sind einige der Probleme, mit denen alle unerfahrenen Autodidakten konfrontiert sind. Es gibt Unmengen von Artikeln und Notizen dazu, aber ich möchte Ihnen sagen, wie Sie den Code visuell so gestalten, dass er nicht nur korrekt ist, sondern auch von außen gut aussieht. Ich glaube, dass Selbstausdruck nicht nur in der bildenden Kunst möglich ist - er kann immer und überall erfolgen.
Die Organisation der Arbeit sowie ihre visuelle Form sind mir sehr wichtig. Ruby ist eine großartige Option für eine Programmiersprache, als ob sie speziell für meine Anforderungen entwickelt wurde, da wir damit problemlos das tun können, was wir wollen. Es ist flexibel, stilvoll und logisch.
Schauen wir uns dieses Beispiel an.

Selbst ein unerfahrener Programmierer wird verstehen, was hier falsch ist. Es ist nur schmerzhaft, diesen Code anzusehen. Aber die korrigierte Version, die schon besser aussieht.

Puh! Viel besser. Jetzt sehen wir, was gehört und wie. Dieser Code kann jedoch verbessert werden. Die Deklaration von attr_reader und attr_accessor kann noch aussagekräftiger gestaltet werden.

Das Deklarieren jedes neuen Attributs mit einer neuen Zeile ist viel einfacher zu lesen. Jetzt haben wir eine Liste von Attributen, die jedem Accessor zugewiesen sind. Sie können weiter gehen.

Hier ist schon leicht zu verstehen, wo es nur die Möglichkeit zum Lesen gibt, wo - sowohl beim Lesen als auch beim Schreiben.
Schauen wir uns nun den nächsten Teil dieser Klasse an - die Initialisierungsmethode. Hier können Sie viele Dinge tun.

Im Prinzip lesen wir den Code, alles scheint in Ordnung zu sein. Aber du kannst es besser machen.

Wenn Sie alle Zuweisungsoperatoren in eine Spalte einfügen, ist dies ziemlich gut. Wenn Sie sich diesen Code ansehen, können Sie leicht sagen, was, wie und warum funktionieren wird.
Mal sehen, wie das gesamte InvoiceItem jetzt aussieht.

Jetzt haben wir eine Klasse, die auf einen Blick leicht zu lesen und zu verstehen ist. Zuweisungen sind einfach auszuwählen, Attribut-Accessoren sind einfach zu verwenden.
Welche anderen Optimierungsoptionen gibt es für unseren Code? In den meisten Fällen kann das Schreiben von Tests zu Beginn des Programmierlernens aufgrund mangelnder Kenntnisse zu Problemen führen. Es wird Zeit verschwendet, um gefälschte Daten zu erstellen. Dies ist nicht schrecklich, führt jedoch in vielen Fällen zur Erstellung großer Arrays schwer lesbarer Texte. Schauen wir uns das an.

Oh, verdammt. Hier wird ganz am Anfang ein neues Repository zum Speichern von Transaktionsklassen erstellt. Es gibt drei von ihnen, die jeweils zum Testen verwendet werden und zur späteren Verwendung in einen Hash fallen. Darüber hinaus erfordert die Klasse, die wir erstellen werden, viele Attribute. Jeder von ihnen hat einen ziemlich langen Namen und eine ziemlich lange Bedeutung. Was kann verbessert werden, damit der Code gut aussieht?
Alles ist einfach.

Wir haben jeden dieser Hashes mit Zeilenumbrüchen bei jeder neuen Wertdeklaration unterbrochen. Darüber hinaus wurde die gleiche Methode wie bei der Optimierung von InvoiceTeam verwendet. Jetzt können Sie im Editor alle Testdaten in einem relativ engen Sichtfeld anzeigen. Wir können die Werte der Schlüssel sehen. Bei Bedarf können sie geändert werden, ohne hin und her zu scrollen.
Eine ähnliche Strategie kann verwendet werden, wenn wir mit einer großen Anzahl von Attributen arbeiten.

In diesem Fall sehen wir zumindest im aktuellen Anzeigebereich nicht die gesamte Struktur des Codes. Um die Attribute zu sehen, müssen Sie ständig scrollen, was nicht allzu praktisch ist. Lassen Sie es uns auf die gleiche Weise wie oben im Hash-Beispiel beheben.

Wir lesen den neuen Code - und viel menschlicher, wenn ich so sagen darf. Wir sehen deutlich alle Attribute und Zuordnungen. Mögliches Debuggen wird immer einfacher. Möglicherweise läuft etwas schief, und dann ist es schwierig herauszufinden, was und warum nicht funktioniert, wenn Sie den Code nicht „hübsch“ aussehen lassen.
Wenn wir Programme schreiben, dürfen wir nicht vergessen: Es ist nicht nur wichtig, dass sie richtig funktionieren, sondern dass den Kollegen bei Bedarf auch das Prinzip ihrer Funktionsweise klar ist. Der Code sollte logisch sein und in Absätze, Sätze und Strukturabschnitte unterteilt sein.
Nun und am Ende - mein Lieblingsbeispiel für Ruby. Schauen wir es uns an.

Nehmen wir jedes Element von Tieren und wenden die Großschreibmethode an. Es sieht gut aus, aber noch besser ist, dass der Code etwas gekürzt und für den Menschen lesbarer gemacht werden kann.

Eine ähnliche Methode funktioniert in vielen Fällen und ich empfehle, sie nach Möglichkeit zu verwenden.
Im Allgemeinen kann der Artikel als trivial bezeichnet werden, bietet dem Anfänger jedoch die Möglichkeit, die Schönheit des Codes zu verstehen. Das heißt, der Code selbst sollte nicht nur funktionieren, sondern auch verständlich sein - auch wenn das Programm nur für Sie selbst geschrieben wurde. Wenn Sie die Gewohnheit entwickeln, schönen, funktionierenden Code zu erstellen, kann dies Ihrem beruflichen Wachstum helfen.
Skillbox empfiehlt: