Skip to content
This repository has been archived by the owner on May 5, 2020. It is now read-only.

Latest commit

 

History

History

003-naming-conventions

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Именование переменных и функций

Явное лучше неявного. Не нужно использовать сокращения для имён, даже если кажется, что эти сокращения общеизвестны. Другой человек, возможно, раньше с ними не сталкивался. Также сокращения вынуждают держать в голове контекст их использования:

console.log(e); // что такое e?

// Плохо, сокращение требует контекста:
document.addEventListener('click', (e) => {
	console.log(e);
});

 try {} catch (e) {
	 console.log(e);
 }

 // Хорошо, явное имя
document.addEventListener('click', (event) => {
	console.log(event);
})

try {} catch (error) {
	console.log(error);
}

Имена предикатов должны быть вопросами, на которые можно ответить «да» или «нет». Если вопрос сам по себе не является глаголом (например, includes, equals), имя предиката должно начинаться с is, are, has, can и т. п.:

// плохо
const authorisation = Boolean(state.currentUser);
const allowPublishing = state.currentUser.permissions.includes('publishing');
const strictEquality = (a) => (b) => a === b;

// хорошо
const isAuthorised = Boolean(state.currentUser);
const canPublish = state.currentUser.permissions.includes('publishing');
const hasFriends = state.currentUser.friends.length > 0;
const strictEquals = (a) => (b) => a === b;

Переменные

Имя переменной должно описывать суть хранимого значения и начинаться с существительного (или прилагательного, а затем существительного):

// плохо, начинается с глагола
const getUserName = 'andrew-r';

// хорошо
const userName = 'andrew-r';
const currentPageNumber = 1;

Функции

Имя функции должно начинаться с глагола:

// плохо
function nextPageNumber() {}

// хорошо
function getNextPageNumber() {}

Имя функции должно описывать не момент вызова, а совершаемое действие:

// плохо
function onClick() {}

// хорошо
function goToNextPage() {}

Если функция возвращает или устанавливает какое-либо значение, её имя должно начиться с get или, соответственно, set:

// плохо
function userAge() {}
function userName(name) {}

// хорошо
function getUserAge() {}
function setUserName(name) {}