2 Stimmen

Wie sollte ich meine Klasse, Funktionen, Mitgliedsvariablen und statischen Variablen benennen?

Manche mögen diese Frage als subjektiv empfinden. Aber ich bin der Meinung, dass dies zu den wichtigsten Dingen gehört, die man einem Programmierer sagen muss.

Ist dies ein guter Funktionsname, um auf Nullwerte zu prüfen.

1. checkNull()
2. notNull()
3. isNull()

Was, wenn ich schreibe

checkIfNull() 

Ich weiß nicht, wie viele Menschen dasselbe Gefühl haben wie ich: Ich habe mehr Zeit damit verbracht, mir gute Namen für meine Funktionen auszudenken, als einen zu schreiben.

Wie kommen die Leute auf gute Namen? Kann die Benennung in verschiedenen Sprachen (hauptsächlich C++ und Java) einheitlich sein?

Aktualisierung: Wenn ich nach der Anzahl der bisherigen Updates gehe, bevorzugen die meisten Leute isNull(). Wie kommen Sie darauf, dass isNull() der perfekte Name ist?

checkNotNull() // throw exception if Null

Ist das ein guter Name? Verlässt sich jeder auf seine Intuition, wenn er einen Namen auswählt?

Es geht um die Wahl eines perfekten Namens!!!

3voto

PhiLho Punkte 39496

Wie die anderen bevorzuge ich isNull() (oder IsNull(), je nach Sprache/Kodierungskonventionen).

Warum? Abgesehen davon, dass es sich um eine weithin akzeptierte Konvention handelt, klingt es schön, wenn man den Code liest:

if (isNull())
// or
if (foo.isInitialized())

und so weiter. Fast natürliches Englisch... :-) Vergleichen Sie mit den Alternativen!
Wie iWerner würde ich die Negativform vermeiden, um Bezeichner (Variablen, Methoden) zu benennen.
Eine weitere gängige Konvention ist es, Methoden-/Funktionsnamen mit einem Verb zu beginnen. Sun hat sich in den frühen Tagen von Java nicht an diese Konvention gehalten (daher z.B. die Methoden length() und size()), aber einige dieser alten Namen werden sogar zugunsten der Verb-Regel veraltet.

3voto

SLaks Punkte 832502

Wenn die Funktion eine Ausnahme auslöst, wenn sie null ist, sollte sie aufgerufen werden ThrowIfNull um klarzustellen, dass er für Sie werfen wird.

3voto

Dean J Punkte 37317

IsNull könnte ein schlechtes Beispiel sein, denn:

Object foo = null;
if (foo.isNull()) { // Causes a NullPointerException in Java. }

Ansonsten haben Sie:

Object foo = null; 
if (UtilityClass.isNull(foo) { }

Das scheint schwieriger und weniger klar zu sein als das bloße Tun:

Object foo = null;
if (foo == null) { }

2voto

Amit Punkte 957

IsNull() ist eine gute Wahl, aber zusätzlich sollte es ein bool zurückgeben.

So dass Sie seinen Wert in der if-Anweisung überprüfen können, ohne eine NullReference-Ausnahme zu erhalten.

2voto

marcosbeirigo Punkte 10678

Heutzutage ist es sehr empfehlenswert, die javaBeans-Konvention zu verwenden:

isNull() //if the return type is a primitive
getNull() //if the return type is an object (Like Boolean in java)

Für nicht boolesche Typen von Zugriffsmitgliedern sollten Sie get verwenden.
Für statische Variablen wird die Groß-/Kleinschreibung verwendet: "meinVar".
Verwenden Sie für den Klassennamen Großbuchstaben mit großem Anfangsbuchstaben: "MeineKlasse".
Und für konstante Mitglieder verwenden Sie Großbuchstaben mit Unterstrich als Trennzeichen: "MEINE_KONSTANTE".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X