Правила написания кода - MoreliaTalk/morelia_server GitHub Wiki

Общие правила работы.

Правила для GitHub

Основные

  • Весь новый код отправляем в develop-ветку, путём пулл-реквеста, либо создаём отдельный бранч из которого делаем пулл-реквест в develop-ветку.

  • Только куратор репозитория имеет право принимать решения и принимать пулл-ревесты в репозиторий.

  • Если есть вопросы по коду пишите напрямую куратору репозитория

  • мы используем английский язык для коммитов и для комментариев в коде

Гайдлайн для коммитов

  • Сообщения commit’ов должны быть следующей структуры: <type>[optional scope]: <description> [optional body] [optional footer], где:

<type> - тип commit’а, например fix, feat, refactor, add, BREAKING CHANGE, docs, perf, test.

[optional scope] - контекст должен быть существительным, заключенным в круглые скобки, описывающий часть кодовой базы, которую затронул commit, например, fix(parser)

<description> - краткая выжимка об изменениях кода

[optional body] - дополнительную информацию об изменениях в коде

[optional footer] - мета-информация о commit’е. Например, связанные pull-request’ы, обсуждения, тикеты (issue), люди и т.д.

Правила по написанию кода

  • Для соответствия кода единому стандарту PEP8 использовать линтеры обязательно
  • Для объявления констант использовать капс.
  • Для написания докстрингов используется Google style of comment and docstring
  • В проекте используется автоматическая генерация документации с помощью Sphinx, для чего в докстрингах используйте следующие ключевые слова:
    • Args (alias of Parameters)
    • Arguments (alias of Parameters)
    • Attention
    • Attributes
    • Caution
    • Danger
    • Error
    • Example
    • Examples
    • Hint
    • Important
    • Keyword Args (alias of Keyword Arguments)
    • Keyword Arguments
    • Methods
    • Note
    • Notes
    • Other Parameters
    • Parameters
    • Return (alias of Returns)
    • Returns
    • Raise (alias of Raises)
    • Raises
    • References
    • See Also
    • Tip
    • Todo
    • Warning
    • Warnings (alias of Warning)
    • Warn (alias of Warns)
    • Warns
    • Yield (alias of Yields)
    • Yields
⚠️ **GitHub.com Fallback** ⚠️