[JAVA] Namenskonvention für Sammlungsvariablen

Namenskonvention für Sammlungsvariablen

In Bezug auf Sammlungsvariablennamen gibt es eine Konvention, dass Sammlungen mehrere Systeme sind und ihre Elemente singulär sind. Wenn Sie jedoch die Pluralform in Englisch verwenden, treten Probleme auf, wenn Sie nicht einfach s hinzufügen. Ich habe tatsächlich den folgenden Code gesehen.

       internal void Main()
        {
            //Gemeinsamer Datenerfassungsprozess, der von jeder Funktion aufgerufen wird(Was ich schrieb)
            var entities = GetData();
            //Code, der von der für die Funktion verantwortlichen Person geschrieben wurde
            foreach (var entitie in entities)
            {
            }
        }

        /**Holen Sie sich Daten aus der allgemeinen Verarbeitung.**/
        private List<Entity> GetData()
        {
            var entities = new List<Entity>() { new Entity() { ID = 1, Name = "1" } };
            return entities;
        }

        /**Entitätsklasse, die durch gemeinsame Verarbeitung generiert wird**/
        private class Entity
        {
            internal int ID { get; set; }
            internal string Name { get; set; }
        }

Als Ergebnis davon, dass die für die Funktion verantwortliche Person von unten in den von mir geschriebenen allgemeinen Verarbeitungscode schreibt, wird s gelöscht und der Variablenname ist berechtigt. Am schlimmsten war, dass foreach für jede Funktion geschrieben werden musste, sodass die Berechtigung durch Kopieren in Massenproduktion hergestellt wurde. Ich war ungefähr 3 Monate lang besorgt um das Recht, also habe ich es heimlich behoben.

Auf der anderen Seite, obwohl es sich um eine einfache Rechtschreibfehler handelt, denke ich, dass dieses Problem auf das Schreiben von "Japanisch" zurückzuführen ist. Da die Englischkenntnisse von Person zu Person unterschiedlich sind, sollte davon ausgegangen werden, dass einige Personen -es, -s usw. nicht richtig verwenden können.

Namenskonvention nach Berücksichtigung des Problems

Im nächsten Projekt werden wir nur s hinzufügen. Es ist leicht, Fehler zu machen, und die Entsprechung zwischen Variablen in der foreach-Schleife ist klar. Entitäten => Entität ist besser lesbar als Entitäten => Entität.

Ich frage mich, wie die Namenskonventionen für die Sammlung lauten. Ich denke, es ist eines von drei Mustern.

  1. Machen Sie es zu einem strengen Plural (-es, -s) und Singular.
  2. Fügen Sie für mehrere Systeme einfach s zur Singularform hinzu.
  3. Freiheit
        internal void Main()
        {
            //Gemeinsamer Datenerfassungsprozess, der von jeder Funktion aufgerufen wird(Was ich schrieb)
            var entitys = GetData();
            //Code, der von der für die Funktion verantwortlichen Person geschrieben wurde
            foreach (var entity in entitys)
            {
            }
        }

        /**Holen Sie sich Daten aus der allgemeinen Verarbeitung.**/
        private List<Entity> GetData()
        {
            var entitys = new List<Entity>() { new Entity() { ID = 1, Name = "1" } };
            return entitys;
        }

        /**Entitätsklasse, die durch gemeinsame Verarbeitung generiert wird**/
        private class Entity
        {
            internal int ID { get; set; }
            internal string Name { get; set; }
        }

Nachtrag 11.03.2017

Ich denke, es ist notwendig, einen Hintergrund zu haben, um zu dieser Schlussfolgerung zu gelangen, also werde ich ihn hinzufügen.

Vorteile der Verwendung des englischen Plural (s) für Sammlungsvariablennamen

Es fühlt sich nicht seltsam an, die Sammlung plural zu machen, und da der Variablenname keine Typinformationen wie List enthält, ist es nicht erforderlich, den Variablennamen zu ändern, selbst wenn sich der Typ ändert.

Wenn Sie beispielsweise einem Variablennamen einen Typnamen geben (... Liste, ... Diktat usw.), wird dieser neu geschrieben, wenn sich der Sammlungstyp ändert. Wenn Sie das Problem hier vermeiden können, können Sie die Konvention verwenden, um dem kommentierten Variablennamen den Typnamen zu geben.

Wie ich den Namen der Sammlungsvariablen geändert habe, um nur s hinzuzufügen

Wie ich im Originalartikel geschrieben habe, habe ich die Konvention vereinfacht, weil einige Programmierer Fehler machen, ohne die Pluralform zu kennen. Es ist eine Regel, die die Qualität des Projekts verringert, aber da die Qualität der Projektmitglieder in erster Linie gering ist, funktioniert die Arbeit nur, wenn sie auf ein niedriges Niveau eingestellt ist. Ich habe in der Codeüberprüfung die Meinung erhalten, dass alles korrigiert werden sollte, aber die Qualität der Mitglieder ist zu niedrig und es ist unmöglich. Die meisten Mitglieder können nicht einmal mehr als die Hälfte der Regeln einhalten, daher bleibt ihnen nichts anderes übrig, als die Regeln zu befolgen.

Qualität und Konventionen der Projektmitglieder

Wie ich in Ein anderer Artikel geschrieben habe, handelt es sich um eine Gruppe von Personen, die durch die Codeüberprüfung nicht behoben werden können. Darüber hinaus gibt es keine Möglichkeit, es anzubauen, da es eine begrenzte Herstellungsdauer hat. An erster Stelle In vielen Fällen können die Regeln nicht befolgt werden, und Codeüberprüfungen verstoßen zu sehr gegen die Regeln, um gefährliche Logik zu erfassen.

Dieses Mal schreibe ich über Sammlungsvariablennamen, aber zum Beispiel verstehen einige Programmierer Vergangenheit und Adjektive mit Variablennamen vom Typ Bool nicht, so dass das gleiche Problem auftritt. Ich würde das gerne tun, wenn ich einen Kompromiss eingehen kann, aber es gibt keine gute Idee.

Nachtrag 16.12.2017

Aufgrund verschiedener Studien kann es eine gute Idee sein, den Kommentar "Sammlung ist ... Liste" abzugeben. Egal, ob es sich um eine Liste oder ein Diktat handelt: Wenn Sie alles auf "... Liste" setzen, werden Rechtschreibfehler erheblich reduziert, und ich bin der Meinung, dass die Belastung für die Projektmitglieder gering ist. In Anbetracht der Tatsache, dass der Listentyp normalerweise überwiegend groß ist, kann dies die am einfachsten zu befolgende Regel sein. (Zuerst dachte ich, es gehe darum, einen Typ an eine Variable anzuhängen, daher ist mein Antwortkommentar irrelevant.)

Inhaltsverzeichnis

Recommended Posts

Namenskonvention für Sammlungsvariablen
[Rails] Informationen zu Namenskonventionen
Namenskonvention für boolesche Methoden
[Java] Namensnotiz des Variablennamens
Variable