Рекомендуемый кодовый стандарт при разработке JS модулей.
Соглашение по именованию
0. Выделение слов - смена регистра символов (camel case), Табуляция - 3 знака, не пробелы.
1. Функции - конструкторы, работающие с оператором new именуются с большой буквы
function AbstractDriver () { }; var Driver_1 = new AbstractDriver ();
2. Функции, и публичне функции - методы объекта с маленькой буквы
function updateRequest () { }; function AbstractDriver () { this.getData () { }; }; var Driver_1 = new AbstractDriver (); Driver_1.getData ();
3. Публичные, но временные или приватные функции - методы объекта, со знака нижнего подчеркивания и первой маленькой буквы
function AbstractDriver () { this._getPassword () { }; _prepare = function () { } _prepare (); // Приватный метод }; var Driver_1 = new AbstractDriver (); Driver_1._getPassword (); // Временный метод API
4. Имена свойств с маленькой буквы
var lastIndex = 0;
5. Константы - все знаки в верхнем регистре, выделение слов знаком нижнего подчеркивания
var EVENT_GENERATED_END = 0;
6. Входящие параметры функций, префикс in_, первый слог с маленькой буквы
function resizeProject (in_width, in_height) { };
7. Выходящие параметры функций, префикс out_, первый слог с маленькой буквы
function checkConnection () { return out_status; };
8. Пространтсва имен, все знаки в верхнем регистре
KNX = {};
9. Расстановка пробелов:
- после ключевых слов, перед открывающимися скобками, перед фигурными скобками, после запятой
function name (in_arg1, in_arg_2) { return out_arg; };
10. Точка запятой: в конце строки, после закрывающей фигурной скобки
11. Документирование методов, конструкторов
/** * Purpose of the function - назначение метода * * @namespace Name of the namespace - имя пространтсва * @method / @onstructor Name of the function - имя метода или конструктора * @param {Type} Description - входящие данные * @return {Type} Description - выходные данные */ /** * Create the data base of the app * * HDL * @method createDataBase * @param {String} Path of the file * @return {Boolean} Success of the action */ function createDataBase (in_path) { return out_result; };
Customer support service by UserEcho