Okay, das ist eines dieser kleinen Dinge, die mich immer geärgert haben. Ich kürze normalerweise keine Bezeichner ab, und das einzige Mal, dass ich einen kurzen Bezeichner verwende (z. B. i
), ist eine enge Schleife. Es irritiert mich also, wenn ich in C ++ arbeite und eine Variable habe, die benannt werden muss, operator
oder class
und ich muss sie umgehen oder eine Abkürzung verwenden, weil sie herausragt. Vorsichtsmaßnahme: Dies kann mir unverhältnismäßig oft passieren, weil ich viel im Programmiersprachendesign arbeite, bei dem Domänenobjekte Konzepte in der Hostsprache widerspiegeln und versehentlich Konflikte verursachen können.
Wie würden Sie damit umgehen? Abkürzen? ( op
) Tippfehler? ( klass
) Noch etwas? ( operator_
)
$var
Syntax zu mögen , ist dies der Fall.Antworten:
Akzeptieren Sie, dass Sie möglicherweise geringfügige Änderungen an Ihrer Namenskonvention vornehmen müssen, z. B. das Hinzufügen von Groß- und Kleinschreibung. Es ist besser, dies so schnell wie möglich zu akzeptieren, damit der gesamte nachfolgende Code konsistent ist.
Erwägen Sie, genauer zu sein. Schlüsselwörter sind in der Regel ziemlich breit sein, so verengen
class
bis zudemonstrationClass
nicht nur rund um die Themen arbeiten , sondern erhöhen auch die Lesbarkeit.quelle
Es ist nicht etwas, auf das ich gestoßen bin, aber wenn ich in eine solche Situation gerate, würde ich versuchen, es mit den folgenden Optionen in der richtigen Reihenfolge zu lösen.
quelle
const Foo&
keinen anderen vernünftigen vollständigen Namen hat alsfoo
. Zugegeben, es ist möglicherweise besser, Ihrem NamenFoo
einen aussagekräftigeren Namen zu geben, alsfoo
wenn er in einem Funktionskörper lebt und einem weniger speziellen Zweck dient.Die Sprache gewinnt; Sie können den Compiler nicht überlisten (das Ignorieren von Abscheulichkeiten wie PL / 1
IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF END
, aber PL / 1 würde Sie nicht dazu bringen, die Frage an erster Stelle zu stellen). Grundsätzlich müssen Sie die Regeln der Sprache befolgen und eine Alternative zu den Schlüsselwörtern der Sprache für Ihren eigenen Gebrauch finden - oder eine alternative Sprache.Außer unter sehr ungewöhnlichen Umständen passen Sie sich also an die Sprache an und nicht umgekehrt.
quelle
Anstatt abzukürzen, wie wäre es mit einer Verlängerung? Wenn Sie ein Klassenkonstrukt in einer Foo-Sprache implementieren, wie wäre es dann mit FooClass und foo_class? (Modulo unabhängig von Ihren Vorlieben Gehäuse).
quelle
Einige der Abkürzungen, für die ich je nach
class
Häufigkeit verwendet habe:cls
clss
clazz
theClass
aClass
Wenn ich weiß, für welche Klasse die
Class
Instanz steht, kann ich sie in den Variablennamen aufnehmen:stringClass = Class.forName("java.lang.String");
quelle
In C und C ++ werden Schlüsselwörter in Kleinbuchstaben geschrieben, und die Sprache unterscheidet zwischen Groß- und Kleinschreibung. Drücken Sie daher von Zeit zu Zeit die Umschalttaste, und viele Probleme werden behoben.
In Modula 2, sind Schlüsselwörter in Großbuchstaben geschrieben - aber so lange , wie Ihr Identifikatoren haben einige Kleinbuchstaben der Unterschied ist offensichtlich , und kollidiert unmöglich.
Absolute Namenskonventionen müssen zu einem gewissen Grad die normalen Konventionen der von Ihnen verwendeten Sprache widerspiegeln. Daher würde ich auf jeden Fall "myClass" in Java schreiben, wohingegen ich eher "My_Class" in C ++ schreiben würde.
Grundsätzlich schreiben Sie nicht nur für den Compiler, sondern was die Leute als lesbar betrachten, hängt in gewissem Maße vom Kontext und den damit verbundenen Erwartungen ab.
quelle
class
undClass
die Lesbarkeit des Codes beeinträchtigen würden.Ich stoße nicht oft auf dieses Problem, aber wenn ich es tue, ist es in der Regel kein Problem, da ich Delphi verwende und Sie dieses Problem umgehen können, indem Sie dem Bezeichner ein & voranstellen. "Class" ist also kein gültiger Bezeichner, "& class" jedoch.
quelle
Ich würde dem Variablennamen eine Art Namensraum hinzufügen. Angenommen, Sie haben ein Modul mit dem Namen user, dann würde ich den Variablennamenoperator so ändern, dass er etwa user_operator oder userOperator lautet.
quelle
a
,an
undthe
verwendet mit der Frequenz zu stören durch Anfänger CS Studenten.aPerson
.a
Ausnahme von Variablen mit enger Schleife beginnen sollen : /meine Namenskonvention ändern oder anpassen
quelle