Skip to content

Instantly share code, notes, and snippets.

@Mefistophell
Last active March 30, 2018 09:31
Show Gist options
  • Save Mefistophell/e1261703c7131990730fbeed2f1361cb to your computer and use it in GitHub Desktop.
Save Mefistophell/e1261703c7131990730fbeed2f1361cb to your computer and use it in GitHub Desktop.
Requirements and recommendations

Общие рекомендации:

Именование переменных:

Имя переменной должно максимально четко соответствовать хранимым в ней данным. Переменные из нескольких слов пишутся в «camelCase»

Примеры:

var price;
const link;
let borderLeftWidth;
isCat = false;    // переменные булевого типа
hasScales = true; // переменные булевого типа

Именование функций:

Имя функции следует тем же правилам, что и имя переменной. Основное отличие – оно должно быть глаголом

Как правило, используются глагольные префиксы, обозначающие общий характер действия, после которых следует уточнение.

Примеры:

showMessage(..)         // префикс show, "показать" сообщение
checkPermission(..)     // check, "проверяет" разрешение, возвращает true/false
getIsAjax(..)           // возвращает true/false

Хорошей практикой является - одна функция – одно действие. В функции не должно быть ничего, кроме самого действия и поддействий, неразрывно связанных с ним.

Например, функция проверки данных (скажем, "validate") не должна показывать сообщение об ошибке. Её действие – проверить и вернуть результат валидации.

Использование JSDoc

  1. Функции
/**
 * Takes 2 numbers and returns their sum.
 *
 * @param   {number} a     the first number
 * @param   {number} b     the second number
 * @param   {number} [c=0] the optional third number
 *
 * @returns {number} the sum of a and b
 */
function addNumbers(a, b, c) {
  if (typeof c === "undefined") {
    c = 0;
  }
  return a + b + c;
}
  1. Переменные
/**
 * The current environment we're running in.
 *
 * @type {string}
 */
 var currentEnvironment = getEnvironment();
  1. Модули
/**
 * description of module here
 *
 * @module ModuleName
 */

module.exports = new(function () {
...

Другое

Для проверки равенства используйте строгое равенство ===

Не забывайте удалять console.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment