Kurz über die Benennung in JS

Hallo Habr! Ich beschloss, das Thema der Benennung von Entitäten in Javascript anzusprechen. Bei der Arbeit interagiere ich viel mit Praktikanten und habe von allem genug gesehen. Daher dachte ich, dass es schön wäre, die Regeln für die Benennung von Entitäten, die heute in der JavaScript-Community übernommen wurden, in einer kleinen Notiz zusammenzufassen. Vielleicht habe ich nicht alles gesammelt, daher wäre ich Ihnen dankbar, wenn Sie mich in den Kommentaren ergänzen würden.

Benennung von Entitäten


Die Benennung ist in der Softwareentwicklung sehr wichtig. Wie wir wissen, ist der Code hauptsächlich für Leute geschrieben, die ihn lesen werden (für Programmierer). Eine schlechte Benennung kann die Arbeitskosten für die Entwicklung oder Unterstützung eines Projekts aufgrund des zusätzlichen Zeitaufwands für das Lesen von Code erheblich erhöhen Bei schlechter Benennung ist die Interpretation von "Was ist was im Code?" schwierig.

Es gibt verschiedene syntaktische Formen von Namen, es gibt viele davon, einige werden nicht mehr verwendet. Hier sind die häufigsten in js:

  • Kamelnotation (CamelCase): MyClass
  • Snake_case: my_const
  • Barbecue-Notation (Kebab-Fall): meine Daten

Bei der Auswahl eines Falls ist es wichtig, den derzeit akzeptierten Standard zu berücksichtigen. In js heute werden snake_case und kebab -case nicht akzeptiert, aber sie können zum Beispiel in Python oder Ruby gefunden werden .

Einzelbuchstaben-IDs


Institutionen verwenden häufig Einzelbuchstaben im Code. Ich sehe diesen Codierungsstil bei der Hälfte der Leute, die nach der High School kommen. Dies ist eine sehr bösartige Praxis. Der Name sollte die Essenz klar beschreiben. Heutzutage ist die Verwendung von Einzelbuchstaben ein schlechtes Zeichen. Ausnahmen können Zähler und Indizes sein, d.h. Situationen, in denen ein Buchstabe mehr als genug ist, um die Essenz der Essenz zu vermitteln.

Übersetzen Sie im Namen


Es ist auch bei Studenten sehr beliebt, Transliteration zu verwenden. Dies ist natürlich auch ein Zeichen für schlechten Geschmack und schlechten Code. Es sollte keine Transliteration bei der Benennung geben, weil Die gemeinsame Programmiersprache ist Englisch. Bei der Entwicklung des Codes müssen wir die internationale Sprache verwenden, die Fachleute in jedem Land kennen. Die russische Transliteration gilt nicht für diese.

Variablen und Klassen benennen


Variablen sind benannt in lower camelCase:

const maxCount = 10;

Klassen sind benannt in CamelCase:

class EnumerableCollection {
//some code
}

Aktionen


Es ist sehr wichtig, Verben zum Benennen von Aktionen (z. B. Funktionen) zu verwenden. Sie müssen ein solches Verb wählen. was der Art der Aktion entspricht.
Zum Beispiel:

const checkNumberIsEven = (number) => (number % 2 === 0);

checkNumberIsEvenIst ein guter Name. Es ist sofort klar, dass die Funktion die Nummer auf Parität überprüft.

Auch ein guter Name isEven - wenn diese Funktion in einer /helpers/number.js liegt, dann ist auch ein so kurzer Name mehr als genug, weil Das Verzeichnis selbst sagt uns, dass es Funktionen zum Arbeiten mit Zahlen enthält. (Aber auch hier können Sie die erste Option verwenden, da eine Datei, die diese Funktion verwendet, ziemlich viel Code enthalten kann und der Aufruf irgendwo in sein kann Mitte.)

Funktionen sind weit davon entfernt, immer Aktionen zu sein . Es ist auch wichtig, dies zu verstehen.
Zum Beispiel,

const arifmeticalProgression = (start, depth, maxLength = 10) => {
  const progression = [start];
  const iter = (acc) => {
    if (acc.length >= maxLength) {
      return acc;
    }
    const newIndex = acc.length;
    const newItem = start + newIndex * depth;
    const newProgresion = [].concat(acc, newItem);
    return iter(newProgresion);
  };
  return iter(progression);
};

Diese Funktion erzeugt eine arithmetische Folge, ist aber keine Aktion, weil In Anbetracht seines deklarativen Charakters wird die Definition des arithmetischen Fortschritts berücksichtigt. Es ist wichtig, diesen Moment unterscheiden zu können. Dies umfasst auch Funktionen, die Konstanten definieren.

const defaultCollection = () => ([]);

Prädikate


Oben haben wir die Funktion besprochen

const checkNumberIsEven = (number) => (number % 2 === 0);

Diese Art von Funktion wird als Prädikat bezeichnet. Ein Prädikat ist eine Aussage über etwas. Sogenannte Funktionen führen Überprüfungen durch, "die Essenz ist etwas". Ein Programmierprädikat gibt immer einen booleschen Wert zurück.

In der Regel sind Prädikate der dritten Person Singular des Englisch durch Hilfsverb bezeichnet werden , d.h. ist .

const isEven = (number) => (number % 2 === 0);

Einige Prädikate bestimmen das Auftreten (Vorhandensein) des gewünschten Elements (Eigenschaft oder Methode oder Element'a) in der Entität. Solche Prädikate. Beginnen Sie normalerweise mit dem englischen Verb has (3. Person Singular Verb zu haben ). Ein sicheres Formular Object.prototype.hasOwnPropertykönnte beispielsweise so aussehen:

const hasProp = (obj, key) => (Object.prototype.hasOwnProperty.call(obj, key));

Wenn eine Entität eine Menge von etwas ist, sollten Sie das Wort count im Namen verwenden.

All Articles