Ich habe aufgrund meiner Arbeit viele Möglichkeiten, Quellen zu lesen, die von anderen geschrieben wurden (hauptsächlich Quellen von Lieferanten), aber ich fühle mich oft unwohl, wenn es darum geht, Variablen zu benennen, was eine der Ursachen für Schwierigkeiten beim Lesen ist. Ich habe versucht, diejenigen aufzulisten, die teuer waren.
Natürlich möchte ich auch vorsichtig mit der Quelle sein, die ich geschrieben habe, damit ich später nicht verwirrt werde.
Die Muster sind unten aufgeführt.
× res -> 〇result △ prop -> 〇property × pat -> 〇pattern × enz -> 〇enzyme × idx-> 〇 Index (hinzugefügt am 30.7.2019) × tbl-> 〇 Tabelle (Hinzugefügt am 24.08.2019)
Ich wusste es früher nicht, als die Maschinenressourcen begrenzt waren, und heutzutage ist die Lesbarkeit stark eingeschränkt, so dass es wenig Verdienst gibt, es wegzulassen. "prop" ist nicht so unangenehm, aber unter dem Gesichtspunkt der Konsistenz ist "property" weniger unangenehm. Für "enz" denke ich, dass es in Ordnung ist, (wahrscheinlich) wichtige Wörter wegzulassen, auf die Sie selten stoßen.
× propaty -> 〇property × canceld -> 〇canceled × spacified -> 〇specified
Obwohl sich "Propaty" von Anfang an seltsam anfühlte, war es kein häufiger Fehler, und es dauerte lange, bis ich bemerkte, dass es falsch geschrieben war, und als ich es bemerkte, war meine Brust erfrischt. Ich verstehe, dass ich "annullieren" zu einer früheren Form machen möchte, aber ich möchte, dass Sie es richtig schreiben. Viele der jüngsten Entwicklungstools weisen auch auf Rechtschreibfehler hin, sodass Sie sie verwenden können.
× count -> 〇progressCount × max -> 〇progressCountMax etc
Ich denke, dass der Bereich eng sein kann, beispielsweise in einer kleinen Schleife oder Funktion, aber wenn Sie ihn für eine Instanzvariable einer großen Klasse verwenden, müssen Sie beim Lesen des relevanten Teils "Welche Variable" etwas konkreter schreiben Es wird sein ".
Dies gilt nicht nur für primitive Typen, sondern auch für Klassentypvariablen. Beispiel: Als Name der Klassentypvariablen der CalculationResult-Klasse
× result -> 〇calculationResult
Es sollte konkret sein. Bei ersteren können Sie sich nicht sofort vorstellen, wie das Ergebnis aussehen wird.
Es ist in Ordnung, ihm einen booleschen Variablennamen mit dem Namen isValid zu geben, aber er sollte "true" enthalten, wenn er nicht gültig ist, und "false", wenn er gültig ist. Es kann nur gesagt werden, dass es nicht in Frage kommt. Ich bin sogar überzeugt, wenn dies passiert ...
boolean isValid = false;
if(!inputFile.exists()){
isValid = true;
}
if(isValid){
printUsage();
}
Nachtrag 2019/7/30 Zu einem späteren Zeitpunkt hatte ich die Möglichkeit, mir die Originalquelle anzusehen, die anstelle von isValid exitFlag hieß. Es scheint eine Pointe zu sein, dass ich den Namen geändert habe, um ihn für einen anderen Zweck zu verwenden, aber die Bedeutung von wahr / falsch nicht geändert habe. Der ursprüngliche Entwickler und der Modifikator sind unterschiedliche Personen. Das übliche Anti-Muster. Junge, halte deinen Standpunkt hoch.
Da ich die Quelle oft lese, während ich mir vorstelle, wie die Daten verarbeitet werden, halte ich es für wünschenswert, den Zweck und den Typ auf einen Blick anhand des Variablennamens zu kennen. Neben primitiven Typen gibt es Arrays, Listen, Karten usw., die häufig in der Datenverarbeitung verwendet werden. Liste ist XX Liste (XX ist der Name, der darstellt, was in Liste gespeichert ist), Karte ist XX △△ Karte (XX ist der Name, der den Schlüssel der Karte darstellt, △△ ist der Name, der den Wert der Karte darstellt) Es fühlt sich leicht zu verstehen an, wenn es angebracht ist.
Das folgende Beispiel wird für den Kartentyp angegeben.
× names -> 〇 nameValidMap
Es stellt sich heraus, dass letzteres zumindest eine Karte ist, auf der die Entsprechung zwischen dem Namen und etwas gespeichert ist, aber erstere sagt es überhaupt nicht. Ich habe es als Liste missverstanden und als ich es gelesen habe? Plötzlich kehre ich zum definierten Teil zurück und wiederhole die Bestätigungsschleife.
Obwohl es dem vorherigen Abschnitt ähnlich ist, ist es wichtig zu verstehen, ob es sich bei der Variablen um "einzelne" Daten oder "mehrere" Daten handelt, wenn Sie dem Datenverarbeitungsfluss folgen. Daher ist es viel einfacher zu verstehen, ob es sich um einzelne Daten handelt, und wenn es sich um eine Variable handelt, die mehrere Daten wie ein Array oder eine Liste speichern kann, sollte sie in mehrfacher Form vorliegen.
Es ist eine bekannte Hauptfunktion in Java. Es ist so geschrieben.
public static void main(String[] option){
}
Fühlst du dich unwohl? Ja, der Name des Arguments der Hauptfunktion wird in einen anderen Namen geändert, obwohl der Marktpreis als "argv" festgelegt ist.
Die Argumente der Hauptfunktion enthalten die "Argumente" des Programms, nicht die "Optionen" (auch wenn sie als Ergebnis gespeichert werden).
Ich habe mich ziemlich gefragt, wo diese Variable namens Option definiert wurde. Wenn Sie den Namen ändern möchten, den Sie idiomatisch verwenden, benötigen Sie einen sehr positiven Grund.
Es gibt viele andere Unannehmlichkeiten wie "Einfügen von Leerzeilen", "Umfangsvariablen", "Schreiben von Kommentaren", "Verarbeitungsreihenfolge" usw. Ich möchte es in zusammenfassen.
Recommended Posts