Machst du updateDatabaseFields ()
oder udDBFields ()
? Dies ist Open Mike, eine Reihe von Diskussionsbeiträgen, um die Katze unter die Tauben zu werfen. Bei diesen Beiträgen geht es um Sie - wir möchten Ihre Meinungen, Ideen und Gedanken hören. Wir haben vorher über Präfixe gesprochen; Lassen Sie uns jetzt über das tatsächliche sprechen Wörter Sie benennen Ihre AS3-Objekte.
Schreiben Sie die vollständigen Wörter der Namen Ihrer Variablen und Funktionen aus oder verwenden Sie eine Art Kurzschreibweise?
checkAllOptionsHaveBeenEntered ()
vs. chkOptsEntd ()
Vielleicht verwenden Sie eine Mischung: Abkürzung für gebräuchliche Codierungswörter (wie z. B. num anstelle von number) und longhand für andere.
numberOfTrophies
vs. numTrophien
Boolean: Da diese entweder immer wahr oder falsch sind, möchte ich sie gerne so formulieren, dass sie immer mit "Ja" oder "Nein" beantwortet werden können..
Beispiele: hero.hatTheSword
, basketballPlayer.isQuiteTall
UrbanSqualls Codierungskonventionen gehen weiter und bestehen darauf, dass boolesche Namen immer mit beginnen ist
, hat
, oder können
.
Was ist mit dir?
Funktionen und Methoden beinhalten im Allgemeinen tun etwas, daher macht es normalerweise Sinn, ihnen Namen zu geben, die Verben (oder Verb-Subjektpaare) sind.
Beispiele: Aktualisierung()
, rückgängig machen()
, Spiel neustarten()
, checkFormDataIsComplete ()
Folgen Sie dies als Konvention oder gibt es Fälle, in denen Sie möglicherweise kein Verb in Ihrem Funktionsnamen verwenden?
Wenn eine Funktion Argumente erfordert, versuchen Sie, aus dem Namen herauszufinden, welche Argumente Sie erwarten?
Zum Beispiel: pingPongBall.move (x, y)
vs. pingPongBall.moveTo (x, y)
Manchmal erfordert eine Funktion völlig unterschiedliche Argumente, die zu Verwirrung führen können. Angenommen, wir haben a Gewehr
Objekt, das ein gegebenes feuert Kugel
zu einem gegebenen Ziel
. Es gibt einige Optionen für das, was wir diese Methode nennen könnten, einschließlich:
Gewehrfeuer (Kugel, Ziel); gun.fireAt (Ziel, Kugel); gun.fireAtTarget (Ziel, Kugel); gun.fireBulletAtTarget (Kugel, Ziel);
Welches ist besser?