Unter ihnen gibt es gute Artikel, die übersichtlich organisiert sind.
Richtlinien für die Benennung von Java-Sprachen https://qiita.com/rkonno/items/1b30daf83854fecbb814
Ich stimme dem zu, was hier geschrieben steht, und denke, dass es so sein sollte. Aber was ist, wenn Ihnen kein guter Name einfällt?
Angenommen, Sie befolgen die Codierungskonventionen in Ihrem Projekt, empfehlen wir Folgendes:
FileOutputStream
Betrachten Sie beispielsweise den Namen einer Variablen, in der ein FileOutputStream gespeichert ist, mit dem einige Verarbeitungsergebnisse ausgegeben werden.
fos
--- Fos …… ?? Ich verstehe nicht. (Ich habe das vor langer Zeit benutzt, als ich es bereue)fileOutputStream
--- Ich kenne den Typ. Ich denke, dass die Menge an Informationen für die Länge gering ist.output
--- Es ist kein Fehler, aber vage.Und soweit. Wie der weise Leser vielleicht bemerkt hat, macht es wenig Sinn, den Typ in den Variablennamen einzufügen. Heutzutage ist es leicht zu erkennen, welcher Variablentyp in der IDE enthalten ist, und selbst wenn Sie die IDE nicht wie ich verwenden, ist es in Ordnung, wenn Sie die Klasse oder Methode ** so einfach gestalten, dass Sie leicht erkennen können, wo sich die Deklaration befindet. .. Die Methodenargumente werden natürlich in der ** API-Dokumentation ** erläutert, daher ist es nicht erforderlich, den Typnamen in den Argumentnamen aufzunehmen.
Was ist ein besserer Name? Wie im obigen Artikel erwähnt, ** denke ich, dass der Name gut ist, weil Sie sich den Inhalt der Daten vorstellen können, indem Sie sich den Namen ansehen **. In meinen eigenen Worten, ** gib ihm einen Namen, der beschreibt, wer es ist **.
Zum Beispiel
resultCsv
--- Oh, es ist eine CSV-Datei mit den aufgezeichneten Ergebnissen.saleInThisYear
--- Oh, die diesjährigen VerkäufecommandOutput
--- Oh, was ist das Ergebnis der Befehlsausführung?Es fühlt sich an wie.
XxxxService
Beispiel
public class XxxxController {
/**
*Ein Service, der das Geschäft von Xxxx abwickelt.
*Da es sich hier um eine Implementierungsrichtlinie handelt, die durch Konstruktorinjektion zugewiesen werden soll{@code @Autowired}Nicht anhängen.
*/
private final XxxxService service;
Ich wäre Ihnen dankbar, wenn Sie in den Kommentaren angeben könnten, welche Art von Klasse, welche Art von Feld, welche Art von Methode, welche Art von lokaler Variable mit einem so guten Namen (oder ich fand es erstaunlich).
Recommended Posts