Was ich oft mache, wenn ich Probleme beim Benennen mit Java habe (etc.)

Ich habe im Titel "in Java" geschrieben, aber es ist kein Thema, das auf eine bestimmte Sprache beschränkt ist. Es kam vor, dass es heutzutage viel Java-Entwicklung gab, und ich fügte "in Java" aus dem damaligen Beispiel hinzu. Ich hoffe, Sie können es auf Ihre andere Sprache als Java anwenden.

Wenn Sie also zuerst nur die Schlussfolgerung schreiben, wird es so sein.

** (* '▽') Bei Interesse lesen Sie bitte weiter! ** ** **

■ Informationen zur Benennung

Die Benennung ist bei der Programmierung sehr wichtig, insbesondere bei Code, der von einer nicht festgelegten Anzahl von Personen gelesen wird, z. B. Gruppenentwicklung und Open Source. Obwohl es sehr wichtig ist, Klassen- und Methodennamen ** Eigennamen ** zu geben, kann dies eine zeitaufwändigere Aufgabe sein, als Sie vielleicht denken.

Anti-Muster im Zusammenhang mit der Benennung sind ebenfalls große Themen, daher werde ich sie diesmal weglassen. Es kann eine entmutigende Aufgabe sein, einen guten Namen zu vergeben, der leicht zu verstehen ist und gleichzeitig schlechte Namen vermeidet.

Vor diesem Hintergrund möchte ich vorstellen, was ich normalerweise praktiziere, um ** einen angemessenen Namen so effizient wie möglich zu geben **.

◇ Denkfluss zum Zeitpunkt der Benennung

Ich werde wieder einen Artikel über Qiita schreiben, also unterscheidet sich das, was ich normalerweise mache, nicht wesentlich von ** Hatena Blog **. Ich dachte, also schaute ich auf das Namensmuster zurück, das ich normalerweise beim Programmieren verwende.

  1. Verwenden Sie den Namen, den Sie normalerweise verwenden. *
    (Wiederverwendung der in der Vergangenheit verwendeten Benennung) *
  2. Wenn Sie keinen Namen haben, den Sie regelmäßig verwenden, denken Sie zum ersten Mal darüber nach.
  3. Sehen Sie sich kurz die in der Sprache gebräuchlichen Begriffe an. *
    (Geschätzt: Stufe, die auf einer Seite angezeigt wird) *
  4. Leihen Sie Schlüsselwörter in anderen Sprachen aus und benennen Sie andere Bibliotheken. *
    (Spezifische Beispiele werden später beschrieben) *
  5. Wenn Sie nichts tun können, warum nicht ins Englische übersetzen und auf nette Weise benennen? *
    (Wenn Sie wirklich "über einen Namen nachdenken" möchten, ist dies der letzte Ausweg. Grundsätzlich bringen Sie irgendwo ein definiertes Wort mit.) *
  6. [Ergänzung]
    Wenn es den Anschein hat, dass es einige Zeit dauern wird, lassen Sie den Namen vorübergehend und fügen Sie
    FIXME hinzu und überarbeiten Sie ihn später, um fortzufahren.
    • Ich denke, dass die Priorität je nach Gegenstand leicht unterschiedlich sein wird, aber ich frage mich, ob die Grundform so sein wird. * *

** (* '▽') Nun, ich denke es ist normal! ** ** **

◇ Umleitung von Schlüsselwörtern in andere Sprachen

Wie ich im obigen Denkablauf geschrieben habe, ist das "Ausleihen von Schlüsselwörtern aus äquivalenten Funktionen in anderen Sprachen" recht praktisch. Im Einzelnen sind hier einige Beispiele für "Diversifikation" aufgeführt, die ich tatsächlich durchgeführt habe.

Beispiel: In der Java-Entwicklung von C # -Schlüsselwörtern abgelenkt.

Die allgemeinen Teile, die die Multithread-Verarbeitung ausführen, heißen async / await / aggregat.

Als ich ein Multithread-Teil erstellt habe, das die Java-Multithread-Standardimplementierung (Java Concurrency Utilities) umschließt C # (genau genommen war es die C # 3.x-Serie) verfügt über eine zusätzliche Funktion von async / await, mit der Sie asynchrone Verarbeitung präzise als Sprachsyntax schreiben können. In erheblichem Maße wurde die Benennung dieses Bereichs verbessert.

Das Aggregat wurde nicht als Schlüsselwort hinzugefügt, aber es wurde lange Zeit als gebräuchlicher Name verwendet.

Beispiel: Leiten Sie den Namen der Zusatzfunktion nach Java 6 in der Java 6-Entwicklung um.

Ich habe eine Klasse namens TryWithResources erstellt. (Ich denke, der Implementierungsinhalt)

Nein, bitte aktualisieren Sie die JDK-Version gehorsam www Das habe ich mir gedacht, das ist die Katze, die das millionenfach gesagt hat. Die Realität ist jedoch, dass viele Entwicklungsstandorte in Japan immer noch konservativ sind. Aufgrund politischer Umstände wird es manchmal kategorisch abgelehnt, die Version zu aktualisieren. *richtig? * * Oder ** Sie können die Version aktualisieren, aber dann sollten Sie alle Funktionen des Systems testen **. * Was ist mit Sicherheitsrisiken, die JDK6 weiterhin verwenden? ?? Ich denke, aber ... nun, es war nur die Bitte eines Kunden, ein Gott zu sein. (Kostenlose Übersetzung: Ich weiß es nicht mehr) *

Dies ist ein einfacher Name für eine Dienstprogrammklasse, die als Alternative zur Try-with-Resources-Syntax verwendet werden kann, um eine zuverlässige Ressourcenfreigabe sicherzustellen. Dies ist natürlich ein Aufruf, der besagt: "Ich musste keine solche Klasse erstellen, wenn ich sie auf JDK7 erhöhen könnte !!" Ich schrieb auch in Javadoc: "Erhöhen Sie es in Zukunft auf JDK7 oder höher und löschen Sie diese schlechte Klasse." Nun, ich denke er überlebt immer noch ohne gelöscht zu werden ...

Beispiel: Der Name der LINQ-Methode ist ebenfalls leicht zu verstehen.

Benennen Sie das Objekt, das das Bedingungsprädikat angibt. Oder Sie können eine solche Schnittstelle IPredicate nennen.

Die LINQ-Methodennamen (obwohl die meisten von ihnen die entsprechenden Delegatennamen sind) sind ebenfalls sehr vielseitig und es gibt viele gute Namen, die einfach zu packen sind.

◇ Vorteile der Benennung

Ausleihen von Namen aus anderen Implementierungen, insbesondere unter Verwendung von Implementierungen auf Keyword-Ebene, Abgesehen von der Verkürzung der Zeit, um an einen Namen zu denken, gibt es die folgenden Vorteile, und dies ist mein Favorit.

  • Da es bereits definiert ist, ist die Informationsdichte hoch. ――Informationen kommen in diesem Wort heraus. ――Wenn es ein offizielles Dokument gibt, können Sie die URL schreiben und die Referenz überspringen.

◇ Vorteile der Verwendung vordefinierter Wörter

Besonders der erste Verdienst ist sehr groß.

Es ist sehr effektiv, ** definierte Namen ** zu verwenden, um systematisches Wissen und Informationen präzise auszudrücken.

Die Menge an Informationen, die in einem Wort übermittelt werden können, ist viel größer als in anderen, und der Inhalt, der mit weniger Code ausgedrückt werden kann, wird angereichert. Wenn Sie nicht gut darin sind, ist es eine Ebene, in der alles mit dem ersten Wort abgeschlossen ist.

Mit anderen Worten, es ist wie ** Verwenden eines Entwurfsmusters für das Klassendesign **.

Es wird garantiert, dass nur eine Instanz dieser Klasse während eines Systemprozesses erstellt wird und zum Zwischenspeichern und Freigeben von Informationen verwendet wird, die im gesamten System gemeinsam sind.

Anstatt zu sagen

Diese Klasse ist eine Tonne.

Es ist schneller und genauer zu sagen.

◇ Sie können einen Link aus dem Entwicklungsdokument einfügen.

Und im see-Tag von javadoc Wikipedia - Singleton-Muster Oder sowas ähnliches.

Dies erspart Ihnen die Mühe, selbst ein langes Javadoc zu schreiben, und ermöglicht es Ihnen, allgemeinere und offenere Informationen zu erfassen.

◇ Schlüsselwörter sind einfach zu durchlaufen.

Wenn es sich um ein ** Schlüsselwort ** handelt, gibt es mit ziemlicher Sicherheit eine ** Sprachspezifikation **, sodass die Informationen (wahrscheinlich das Standarddokument) sofort getroffen werden. Selbst wenn die Standarddokumente nicht getroffen werden, besteht eine hohe Wahrscheinlichkeit, dass die Einführungsseite (oder der Blog, der Qiita-Artikel usw.), auf der sie erläutert werden, getroffen wird, und es besteht der Vorteil, dass die Suchbarkeit hoch ist.

In meinem Fall verwende ich häufig das aus C # stammende Schlüsselwort zur Benennung, aber in diesem Fall ** "Wenn Sie mit diesem Schlüsselwort und den MSDN-Treffern googeln, ist dies die richtige Antwort. Lesen Sie es daher sorgfältig durch!" ** Füllen Sie dies mit ** normalen Kommentaren ** aus.

  • (Vorerst handelt es sich um ein Java-Entwicklungsprojekt, daher wollte ich nicht offen auf ein Dokument in einer anderen Sprache verlinken Normalerweise verwende ich Kommentare als Hinweise für diejenigen, die bereit sind, den Code zu lesen. Oder direkter können Sie die URL der Seite schreiben, die Sie direkt lesen möchten. ) *

■ Bonus: Cheet Sheet, das zum Zeitpunkt der Benennung verwendet wurde

Wenn ich keinen guten Kreditnehmer finde, werde ich mein Bestes geben, um ihm einen schönen Namen zu geben. Dieser Bereich braucht Zeit, deshalb möchte ich ihn so einfach wie möglich finden.

Damit beziehe ich mich oft auf diesen Bereich.

** Namenswörterbuch für Programmierer "Codic": ** https://codic.jp/engine

** Zusammenfassung der Konservenpapiere, die nützlich sind, wenn Sie sich bei der Benennung von Variablennamen und Funktionsnamen in der Programmierung nicht sicher sind: ** Beginnend mit der Einführung von Codic oben gibt es viele andere nützliche Dinge für die Benennung. Bitte suchen Sie nach Ihrem Favoriten https://nelog.jp/programming-words

** (* '▽') Vielen Dank für Ihre Hilfe! ** ** **

■ Referenzmaterialien

Wenn Sie sich nicht sicher sind, wie Sie ein Programm benennen sollen, können Sie den Code auf GitHub als Referenz durchsuchen.

Eine epochale Methode zum Suchen von Code auf GitHub wurde vorgeschlagen. https://qiita.com/kyoshidajp/items/c5d4f060df636ea20cbb

Zusammenfassung der häufig in der Programmierung verwendeten englischen Wörter [Von Zeit zu Zeit aktualisiert]

Ich habe den stärksten der stärksten Namens-Spickzettel gefunden. https://qiita.com/Ted-HM/items/7dde25dcffae4cdc7923

Eine bessere Benennung anstreben

Es ist eine Namenskonvention oder eine Richtlinie. https://qiita.com/takasek/items/693c57dc9ddc6c1eb1ba

Recommended Posts