Skip to content
/ cz-ru Public

Конфиг для Commitizen на русском языке, основанный на Conventional Commits

License

Notifications You must be signed in to change notification settings

teatov/cz-ru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Мне не хватало Conventional Commits с сообщениями на русском языке, поэтому я сделал вот это.

Сделано для Commitizen на Python. Не путать с версией на JavaScript, которая более популярна, но требует наличие package.json. Подробнее о различиях здесь.

Установить можно так:

pip install commitizen cz-ru

О том как пользоваться можно почитать здесь.

Структура идентична конфигу cz_conventional_commits. Названия типов изменений вроде fix и feat решил оставить как есть. Это не так важно, плюс не ломает генерацию списков изменений.

Единственное отклонение от оригинала, которое я себе позволил, и из-за которого вам этот конфиг может не подойти:

Использование неопределённо-личной формы вместо повелительной

На английском всю жизнь была традиция писать в коммитах глаголы повелительного наклонения настоящего времени, по типу update README.md. Официальная документация Git объясняет это тем, что вы как будто даёте приказы кодовой базе изменить своё поведение. Мол, "кодовая база, обнови README.md". В русском языке более подходящий аналог этому - инфинитив: обновить README.md.

Как по мне, для русского языка такой вариант звучит неестественно. Вместо отдачи приказов язык тянется описать, что произошло.

Есть вариант убрать глаголы вовсе и писать обновление README.md. Вариант на самом деле отличный, но я решил использовать другой вариант, к которому я тяготею сильнее:

Неопределённо-личные предложения. Как по мне, обновлён README.md звучит натуральнее всего. Либо я предвзят потому что все мои коллеги используют именно такой вариант. Но это уже не важно.

Именно что неопределённо-личные. обновил README.md уводит внимание с объекта изменений на автора, а у авторов разного пола глагол будет лишний раз менять род (обновил или обновила - должно быть не важно). Поэтому стоит оставлять предложения обезличенными, чтобы писать что сделано с чем.

Раз мы обращаемся глаголами к вещам из кода, надо сообразить какой у них род. У меня конвенция проста - использовать род того, чем вещь является: обновлён (файл) README.md, переименована (переменная) counter, удалён (класс) Article, исправлена (функция) runServer, и тому подобное.

А это вообще важно?

Важно - выбрать один стиль для всех и стабильно ему следовать. А какой именно - дело ваше.

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

Если вы несогласны с ней, написать свой собственный конфиг очень легко. Подробнее про кастомизацию здесь. Обязательно опубликуйте его, больше выбора не повредит.

About

Конфиг для Commitizen на русском языке, основанный на Conventional Commits

Topics

Resources

License

Stars

Watchers

Forks

Languages