Cheatah: Variablennamen - Eindeutigkeit/Aussagekraft

Beitrag lesen

Hi,

Als ich mein beinahe fertiges Projekt mir mal so im nachgang angeschaut habe ist mir häufig aufgefallen, dass ich trotz Doku mit einigen Dingen nichts mehr anfangen kann,d.h. ich weiss nicht mehr was ich meinte.

willkommen im Club :-)

  1. Wie würdet ihr die Variablen benennen, vorallendingen im Hinblick auf unterschiedliche Verwendungszwecke wie zB. Sprachvariablen, Systemvariablen, allgemeine Variablen usw.

Sprechende Namen. Die meisten Style-Dokus empfehlen, die Schreibweise an sich mit einer gewissen Semantik zu versehen: $durch_unterstrich_getrennt für "normale" Variablen, $mitGrossBuchstaben für systemnahe Variablen (das eigene System ist gemeint), $KOMPLETT_GROSS für Konstanten und global vordefinierte Variablen. Vor allen Dingen sollte man beim Lesen des Variablennamen wissen, was sie enthält.

  1. Deutsch oder Englisch oder gemischt?

Deutsch oder Englisch. _Niemals_ gemischt. Im Hinblick auf Internationalität empfehle ich Englisch - es sollte nicht nötig sein, den Code an sich übersetzen zu müssen.

  1. würdet ihr diese Variablen nochmals irgendwo auflisten um sie zu erläutern

Never underestimate the power of incode documentation. Wenn eine Variable über den Namen hinaus noch eine Beschreibung benötigt, tue es zumindest dort, wo Du die Variable setzt; bei öffentlichen Variablen (in Objekten und Schnittstellen etwa) oder bei solchen, denen eine sehr besondere Bedeutung zukommt, lohnt sich eine Dokumentation zu Beginn des Codes. Eine Dokumentation _außerhalb_ des Codes sollte nur die Anwendung desselben beschreiben.

Bedenke insbesondere auch, dass Variablen nicht alles sind. Bei einem guten Programmkonzept sind die meisten Variablen nur lokal von Bedeutung; sie werden anderen Funktionen oder Objekten übergeben. Dort kann die Bedeutung dann gerne eine andere sein, und der Name ergo ebenfalls - ein Objekt, eine Klasse, eine Funktion usw. sollte immer auch separat verstanden werden können, nicht nur in Abhängigkeit von anderen. Setze Dich also beim Namen nicht fest, in der Art "sie muss aber hier $x heißen, weil sie dort auch $x heißt". Der Name muss im jeweiligen Kontext klar verstanden werden können.

Für die Namen der Klassen, Objekte, Methoden, Funktionen, Module, Wasimmer gilt natürlich analoges. Wer in Python etwas versiert ist, wird diese Vorstellung leicht adaptieren können... diese Sprache sieht _alles_ als Variable an, was einen Namen hat :-)

mir geht es vorallendingen um Nachvollziehbarkeit. (auch noch 6 Monate später ;))

Meine Güte, Du denkst aber in verdammt großen Bahnen *g* Einen guten Code erkennt man daran, dass man ihn auch nach sechs _Wochen_ noch versteht...

Cheatah

--
X-Will-Answer-Email: No