За основу берем Airbnb JavaScript Style Guide. На русском uprock/javascript
-
Пробелы и табуляция Для отступов и табуляции мы используем 4 пробела, а не 2.
// пщщв function() { ∙∙∙∙var name; }
-
Длина строки (line length). Требования длины строки в 80 символов следует считать опциональным. Т.е. строки не должны быть слишком длинными, и должны помещаться в окно редактора даже на небольшом мониторе, а значит длина строки не должна превышать 120 сиволов.
-
Комментарии. Ко всем неочевидным с первого взгляда кускам кода пишем комментарии. На русском языке. Это позволит нам избежать ситуации с невнятными комментариями на мексиканском английском.
-
Анонимные функции. Никаких пробелов между function и скобками, перепутать данную конструкцию с вызовом функции может только Крокфорд, если вы понимает о чем я.
var explodeDeathStar = function() { // Здесь идет код для подрыва звезды смерти }
-
Hoisting. Это очень классная фича JS'а, и ей можно и нужно пользоваться. Это позволяет сохранять порядок чтения кода и избегать вложенности, даже если код активно использует колбэки. Если есть колбэки из которых вызываются колбэки, то этот трюк наиболее полезен.
dgApi.findFirms('пиво', processFirms); function processFirms(firms) { // Обрабатываем найденные фирмы }
-
Строгое равенство/не равенство (=== / !==) Исходим из здравого смысла и пользуемся только там, где это действительно необходимо. Например в случаях с
null
илиundefined
.
Ветку надо называть так, чтобы было понятно, что в ней происходит, например:
"add/my-feature"
"remove/old-feature"
"fix/crazy-bug"
"improve/my-feature"
- Используем только маленькие буквы
- Не используем прошедшее время
- Избегаем лишних знаков препинания
- Избегаем огромных комментариев, если необходимо пояснение - делаем два переноса строки и поясняем.
- В конце коммита указываем номер issue через решетку.
Как не надо:
Fixed ugly bug, when we rapidly clicking on control. Attension! Changed abracadabra interface!
Как надо:
fix rapidly click control #1234
Attension! Abracadabra interface changed.
-
Устанавливаем утилиту hub
Ubuntu
sudo apt-get install rake git clone git://github.com/github/hub.git cd hub sudo rake install
OS X
brew install hub
-
Пушим ветку на github
-
Выполняем команду
hub pull-request -i номер_ишью