So finden Sie aussagekräftige Namen für Ihren Code

Hier ist die Übersetzung des Artikels aus dem Better Programming-Blog auf der Medium-Website. Darin teilt der Daan-Programmierer einfache Regeln, nach denen Sie Funktionen und Variablen gute Namen geben können.



Als Entwickler verbringen Sie wahrscheinlich viel Zeit damit, Variablen zu erstellen und deren Namen zu finden. Namen sind überall: Sie werden für Dateien, Klassen, Methoden und dieselben Variablen benötigt.

Da wir so viel Zeit damit verbringen, Namen zuzuweisen, ist es sehr wichtig, dies auf qualitativ hochwertige Weise zu tun. In diesem Artikel werde ich Ihnen einige einfache Regeln erläutern, nach denen Sie gute Namen erstellen können. Das ist doch eine ganze Kunst!

Verwenden Sie Namen, die Ihre Absichten offenbaren


Der Name sollte den Zweck des Codes angeben. Leichter gesagt als getan, oder? Wie oft stoßen Sie auf Variablen mit Namen, die nichts über die Absicht des Programmierers aussagen?

Die Regel lautet: Wenn ein Name einen Kommentar erfordert, vermittelt er keine Absicht.

In diesem Codeausschnitt befindet sich eine Variable, deren Name nicht klar ist:

<?php private $s; // Time in seconds 

Die Variable $s sagt nichts aus und ist keinem Zeitraum zugeordnet. Es ist besser, einen Namen zu wählen, der angibt, welche und in welchen Einheiten er gemessen wird.

Einer der folgenden Namen wäre angemessener.

 <?php private $days_since_creation; private $elapsed_time_in_seconds; private $seconds_since_last_modified; 

Absichtsnamen erleichtern das Verständnis des Codes und damit die Wartung.

Sie werden Zeit damit verbringen, den richtigen Namen auszuwählen, ihn aber in Zukunft speichern.

Betrachten Sie dieses Beispiel:
 <?php function getList() { $list1 = []; foreach ($this->the_list as $x) { if ($x % 2 != 0) { $list1[] = $x; } } return $list1; } function getOddNumbers() { $odd_numbers = []; foreach ($this->numbers as $number) { if (isOdd($number)) { $odd_numbers[] = $number; } } return $odd_numbers; } 

Warum ist es schwer zu verstehen, was die Funktion getList ? Keine komplexen Ausdrücke, der Code ist korrekt ausgerichtet und formatiert, nur drei Variablen und nichts weiter.

Schauen Sie sich nun die Funktion getOddNumbers . Hast du gesehen, dass sie dasselbe macht wie getList ?

Beachten Sie, dass der Code nicht komplizierter oder einfacher geworden ist. Wir haben die Anzahl der Operatoren, Variablen und Verschachtelungsebenen beibehalten, aber jetzt ist es klarer und transparenter.

Eine kleine Namensänderung - und es ist schon viel einfacher zu verstehen, was passiert.

Vermeiden Sie Fehlinformationen


Vermeiden Sie falsche Assoziationen, die den Zweck des Codes verzerren.

Verwenden Sie keine Wörter, die anders verstanden werden können als beabsichtigt. productList Sie beispielsweise productList Produktgruppe productList nicht, es sei denn, es handelt sich tatsächlich um ein Objekt vom Typ List . Ein solcher Name kann zu falschen Schlussfolgerungen führen. Es ist besser, nur products .

Möglicherweise beginnen die schlechtesten Namen für Variablen mit einem Großbuchstaben O und einem Kleinbuchstaben L , da diese Zeichen 0 und 1 sehr ähnlich sind.

Seien Sie auch vorsichtig mit Namen, die sich nur geringfügig voneinander unterscheiden. Wie viel Zeit wird vergehen, bis Sie einen geringfügigen Unterschied zwischen SomeMethodForEfficientHandlingOfFiles in einer Datei und SomeMethodForEfficientStorageOfFiles in einer anderen Datei SomeMethodForEfficientStorageOfFiles ? Stimmen Sie zu, auf den ersten Blick sind sie identisch.

Markieren Sie wichtige Unterschiede


Die Verwendung der Nummerierung ist nicht die beste Art der Benennung. Solche Namen sind nicht aussagekräftig, da sie die Absichten des Autors überhaupt nicht offenbaren.

Schauen wir uns das folgende Beispiel an:

 <?php public function duplicateArray($arr1, &$arr2) { foreach ($arr1 as $key => $value) { $arr2[$key] = $value; } } 

Dieses Code-Snippet wird besser gelesen, wenn wir $arr1 und $arr2 in $source und $destination umbenennen.

Verwenden Sie Namen, die Sie aussprechen können


Wenn Sie den Namen der Funktion nicht aussprechen können, ist es unwahrscheinlich, dass Sie darüber sprechen können und nicht idiotisch klingen. Dies ist tatsächlich wichtig, da die Erörterung von Code Teil der Programmierung ist. Jeder von uns muss jedoch auf Variablen mit unaussprechlichen Namen gestoßen sein.

Angenommen, Sie haben eine Variable namens $xsq und diskutieren diese häufig mit dem Unternehmen. Und hier sprechen Sie mit einem Kollegen:
- Nun, was ist mit ex es quew?
- Mit was? Mit Zugangswarteschlange?

Einige Entwickler sprechen den Namen der Variablen als Wort aus, andere als Abkürzung.

Verwenden Sie durchsuchbare Namen


Das Problem bei Einzelbuchstaben besteht darin, dass sie im Code schwer zu finden sind.

Gleiches gilt für numerische Konstanten. Es ist besser, sie durch Variablen zu ersetzen. Zum Beispiel kann die übliche Nummer 8 viele Probleme verursachen, wenn Sie etwas im Code finden müssen. Es ist jedoch viel einfacher, wenn Sie die Nummer durch MAX_BLOCKS_DISPLAYED .

Die einzige Situation, in der es sich lohnt, Namen aus einem einzelnen Buchstaben zu verwenden, besteht darin, Namen für lokale Variablen in kurzen Methoden zu erfinden.

Präfixe für Klassenmitglieder


Verwenden Sie keine m_-Präfixe.

Einige Entwickler haben die Angewohnheit, vor Klassenmitgliedern ein Unterstrichpräfix zu verwenden. Nicht so. Ihre Klassen und Methoden sollten kompakt genug sein, damit Sie keines dieser Präfixe benötigen.

Alternativ können Sie die IDE verwenden (oder das Plugin installieren), die die Variablen je nach Umfang hervorhebt.

Stellen Sie sich Ihren Code als Picknickplatz im Wald vor - lassen Sie ihn sauberer als vor Ihrer Ankunft.

Fazit


Auf diese Weise werden verständlichere Namen für den Code erstellt.

Kommentieren Sie, hinterlassen Sie Ihre Fragen und schreiben Sie , wenn ich andere Themen im Zusammenhang mit der Programmierung behandeln soll.

Dieser Artikel wurde von Robert Martins Buch Clean Code inspiriert, das ich sehr empfehlen kann.

Source: https://habr.com/ru/post/de459793/


All Articles