Brevemente sobre nombrar en JS

Hola Habr! Decidí tocar el tema de nombrar entidades en Javascript. En el trabajo, interactúo mucho con los pasantes y he visto suficiente de todos. Así que pensé que sería bueno recopilar en una pequeña nota las reglas de nomenclatura de entidades adoptadas hoy en la comunidad JavaScript. Tal vez no se haya recopilado todo, por lo que le agradecería que me complemente en los comentarios.

Nombre de la entidad


El nombramiento es muy importante en el desarrollo de software. Como sabemos, el código está escrito principalmente para las personas que lo leerán (para programadores). La mala denominación puede aumentar significativamente los costos de mano de obra para desarrollar o apoyar un proyecto debido al tiempo adicional dedicado a leer el código, ya que con una mala denominación, la interpretación de "qué es qué en el código" es difícil.

Existen diferentes formas sintácticas de nombres, hay muchos, algunos ya no se usan. Estos son los más comunes en js:

  • Notación Camel (CamelCase): MyClass
  • Snake_case: my_const
  • Notación de barbacoa (caso kebab): my-data

Al elegir un caso, es importante tener en cuenta el estándar actualmente aceptado. En js hoy no se aceptan snake_case y kebab-case , pero se pueden encontrar, por ejemplo, en Python o Ruby .

Identificadores de letras simples


Las instituciones a menudo usan identificadores de una letra en el código. Veo este estilo de codificación en la mitad de los chicos que vienen después de la secundaria. Esta es una práctica muy viciosa. El nombre debe describir claramente la esencia. Hoy en día, usar identificadores de una letra es una mala señal. Las excepciones pueden ser contadores e índices, es decir situaciones en las que una letra es más que suficiente para transmitir la esencia de la esencia.

Translit en el nombre


También es muy popular entre los estudiantes usar la transliteración. Por supuesto, esto también es una señal de mal gusto y mal código. No debería haber transliteración en el nombramiento, porque El lenguaje común en la programación es el inglés. Al desarrollar el código, debemos usar el idioma internacional que los profesionales de cualquier país conocen. La transliteración rusa no se aplica a esos.

Nombrar variables y clases


Las variables se nombran en lower camelCase:

const maxCount = 10;

Las clases se nombran en CamelCase:

class EnumerableCollection {
//some code
}

Comportamiento


Es muy importante usar verbos para nombrar acciones (por ejemplo, funciones). Necesitas elegir tal verbo. que corresponde al tipo de acción.
Por ejemplo:

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

checkNumberIsEvenEs un buen nombre Es claro de inmediato que la función verifica la paridad del número.

También es un buen nombre isEven : si esta función se encuentra en /helpers/number.js, incluso un nombre tan corto es más que suficiente, porque el directorio en sí mismo nos dice que contiene funciones para trabajar con números (pero incluso aquí puede usar la primera opción, porque un archivo que usa esta función puede tener bastante código, y la llamada puede estar en algún lugar en medio.) Las

funciones están lejos de ser siempre acciones , también es importante entender esto.
Por ejemplo,

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);
};

Esta función genera una progresión aritmética, pero no es una acción, porque en vista de su naturaleza declarativa, se considera la definición de progresión aritmética. Es importante poder distinguir este momento. Esto también incluye funciones que definen constantes.

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

Predicados


Arriba discutimos la función

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

Este tipo de función se llama predicado. Un predicado es una declaración sobre algo. Las llamadas funciones ejecutan controles "la esencia es algo". Un predicado de programación siempre devuelve un valor booleano.

Como regla general, se hace referencia a los predicados a través de la forma singular en tercera persona del verbo auxiliar inglés to be , es decir es .

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

Algunos predicados determinan la aparición (presencia) del elemento deseado (propiedad o método o elemento 'a) en la entidad. Tales predicados. por lo general comienzan con el verbo Inglés tiene (tercera persona singular verbo tener ). Por ejemplo, una forma segura Object.prototype.hasOwnPropertypodría verse así:

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

Si una entidad es una cantidad de algo, entonces debe usar la palabra count en el nombre.

All Articles