Sind meine Methoden- oder Variablennamen zu lang? [geschlossen]

15

Also war ich gerade in der Mitte des Codierens, leider für mich, ich war in "The Zone" dann dachte ich mir, sind meine Methoden- / Variablennamen zu lang?

POP aus der Zone Ich gehe!

Also bin ich hierher gekommen, um zu fragen, ob meine Methoden- / Variablennamen zu lang sind. Du entscheidest! Bonuspunkte für alle, die herausfinden können, was ich schreibe, obwohl ich sicher bin, dass ein Guru es schnell herausfinden wird!

Wie auch immer, hier sind einige meiner Methoden- und Variablennamen.

Methoden: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()

Variablen: isNextToBlockedSquares;

Ich glaube, es gab nur eine Variable, die zu lang schien.

Bryan Harrington
quelle

Antworten:

31

Ihre Namen scheinen mir von der Länge her in Ordnung zu sein. Die Art und Weise, wie sie benannt werden, lässt jedoch darauf schließen, dass möglicherweise einige neue Klassen in Ordnung sind.

Zum Beispiel könnte anstelle von searchBlockedListForBlockedSquares()Ihnen haben blockedList.getBlockedSquares(). Ebenso isCurrentSquareNextToAtLeastOneBlockedSquare()wird currentSquare.isAdjacentToABlockedSquare().

Adam Lear
quelle
Angrenzend war das Wort, nach dem ich gesucht habe! Vielen Dank =)
Bryan Harrington
@ Bryan: Gern geschehen. :)
Adam Lear
11

Ich glaube an beschreibende Variablennamen, auch wenn das lange Variablennamen bedeutet. Und da Intellisense immer beliebter wird, glaube ich nicht, dass es die Produktivität stark beeinträchtigt.

Ich hasse Abkürzungen, weil es fast unmöglich ist, sie konsequent zu verwenden. Außerdem können sie mehrdeutig sein und das Lesen erschweren. Selbst wenn sie Teil eines Standards sind, mag ich sie nicht. Außerdem entfernen sie nicht so viele Buchstaben, es sei denn, Sie kürzen viel ab. Und viele Abkürzungen beeinträchtigen die Lesbarkeit.

Das größte Problem bei langen Namen ist jedoch, wie lange Codezeilen werden können. Das Aufrufen einer Funktion mit einem langen Namen und das Übergeben von zwei oder drei langen Variablennamen kann zu einer langen Codezeile führen. Aus diesem Grund versuche ich, meine Namen so kurz wie möglich zu halten, obwohl ich wieder beschreibende Namen haben möchte, auch wenn dies Zeilenumbrüche oder Scrollen bedeutet.

Wenn ich mir Ihre Beispielnamen ansehe, denke ich, dass ein Teil des Namens überflüssig sein könnte, da alle mit BlockedSquares enden. Tatsächlich kann dies auch bedeuten, dass diese Elemente in eine eigene Klasse mit dem Namen BlockedSquares eingekapselt werden können. Diese Änderung macht die Namen etwas kürzer.

Jeff Siver
quelle
5

Ein Variablenname hat die falsche Länge, wenn er seinen Zweck nicht eindeutig beschreibt. Das gilt für zu kurz oder zu lang.

Kurze und knappe Variablennamen können mehrdeutig sein oder, schlimmer noch, keine Beziehung zu der Variablen haben. In den Tagen des interpretierten BASIC waren wir vom Interpreter auf zwei Zeichennamen beschränkt. Es war sehr schwierig, in einem großen Programm bedeutungsvolle Namen zu finden. Einbuchstabige Variablennamen werden häufig für for-Schleifen und Zähler verwendet, aber ich denke, sie sollten ansonsten vermieden werden. for (i = 0; i < 10; i++) {...}verwendet iund das ist ziemlich häufig. jist ein sekundärer Variablenname.

Lange Variablennamen sind zu lang, wenn sie zu langwierig oder voller leerer Wörter werden, sodass sie länger als nötig sind. Wenn ich eine Reihe ähnlich benannter Variablen habe, werde ich versuchen, die überflüssigen gemeinsamen Teile zu entfernen und die eindeutig identifizierenden Teile der Namen beizubehalten.

Ich hätte " isCurrentSquareNextToAtLeastOneBlockedSquare" to genannt currentSquareNextToBlockedSquare?, wenn ich es in Ruby gemacht hätte.

der Blechmann
quelle