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;
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.