Skip to content

Latest commit

 

History

History
181 lines (127 loc) · 13.8 KB

CONTRIBUTING.ru.md

File metadata and controls

181 lines (127 loc) · 13.8 KB

Руководство контрибьютора

English version

Прежде всего, спасибо, что нашли время внести вклад!

Ваш вклад увеличивает ваш Рейтинг в нашем сообществе.

Пожалуйста, прочитайте наше Руководство по архитектуре и Инструкцию по установке.

Начнём

При внесении вклада в этот репозиторий, прежде чем вносить изменения, сначала обсудите изменения, которые вы хотите внести, при помощи issue, электронной почты или любым другим способом, с основной командой.

Советы и рекомендации по использованию Git

Ключевые ветки

  • master - последняя, развёртываемая версия

Вклад в основной код или исправление ошибок

Ваш первый вклад в код

Начните с просмотра этих issues:

  • Beginner issues - issues которые требуют несколько строк кода, и один или два теста. Issues отсортированы по общему количеству комментариев.Хотя количество комментариев не является идеальным, оно является разумным показателем воздействия, которое окажет данное изменение.
  • TODO issues - найдите комментарии, которые начинаются со слова TODO в исходном коде, с описанием проблемы, а также с рекомендациями по ее исправлению.

Вклад/перевод документации или сообщений

Вы можете помочь улучшить документацию/перевод, сделав их более понятными, последовательными или читаемыми, добавив недостающую информацию, исправив ошибки и опечатки. Пожалуйста, прочитайте как работает Интернационализация (I18N).

Все переводы находятся в исходных файлах.

Для этого внесите изменения в исходные файлы. После чего отправьте pull request для его принятия в master ветку.

Чтобы помочь нашим CI-серверам, вы должны добавить [ci skip] к вашему commit-сообщению для документации, чтобы пропустить сборку на этом коммите. Пожалуйста, не забудьте использовать его для коммитов, содержащих только изменения документации.

Руководство по стилям кодирования

Commit-сообщения Git

  • Включает номер issue в начале первой строки (если возможно)

Например, #234 YOUR_COMMIT_NAME

  • Используйте настоящее время ("Add feature", не "Added feature")
  • Используйте повелительное наклонение ("Move cursor to...", не "Moves cursor to...")
  • В случае изменения только текста или документации, добавьте [ci skip] в конец первой строки
  • Ограничьте первую строку в 72 символа или меньше
  • Подробно опишите issues и pull requests после первой строки

Руководство стиля документации

Все *.md файлы должны придерживаться Markdown-синтаксис.

Руководство стиля PHP

PHP код ДОЛЖЕН придерживаться Yii 2 Web Framework Coding Standard Style, PHP Standards Recommendations, Clean Code PHP.

Рекомендуемые IDE:

Файлы миграции Yii 2

https://www.yiiframework.com/doc/api/2.0/yii-db-migration

Перед созданием файлов миграции, используйте wwwsqldesigner для создания прототипа изменений для базы данных. Например, вы можете использовать https://ondras.zarovi.cz/sql/demo/?keyword=default с любым ключевым словом и поделиться ссылкой с другими контрибьюторами.

safeUp()

https://www.yiiframework.com/doc/api/2.0/yii-db-migration#safeUp()-detail

  • Называйте таблицы базы данных в единственном числе, чтобы перечислить любые объекты. Например, user, но не users.
  • Не используйте переменные типа $tableName и $tableOptions.
  • Не используйте комментарии базы данных.
  • Добавьте первичный ключ в каждую новую таблицу. Почему это важно?

Cтолбцы:

  • Первичный ключ с целым числом - используйте $this->primaryKey()->unsigned().
  • Целочисленные значения в диапазоне 0-255 - используйте $this->tinyInteger()->unsigned().
  • Целочисленные значения в диапазоне 0-65535 - используйте $this->smallInteger()->unsigned().
  • Целочисленные значения выше 65535 - используйте $this->integer()->unsigned().
  • Значения datetime или timeshtamp - используйте $this->integer()->unsigned().
  • Не указывайте длину (length) для столбцов с целочисленными значениями.
  • Значения с плавающей точкой, где необходима точность, например деньги или координаты - используйте $this->decimal($precision, $scale)->unsigned(). Избегайте использования типа float для столбцов без явной необходимости, так как данный тип является не точным.
safeDown()

https://www.yiiframework.com/doc/api/2.0/yii-db-migration#safeDown()-detail

Используйте только для удаления объектов структуры базы данных (таблиц, полей, ключей, индексов). После создания новой миграции, проверьте можно ли откатить ее и применить снова.

Апгрейд (upgrade) данных в базе данных

Для апгрейда (upgrade) данных в базе данных, создайте миграцию, название которой начинается на upgrade_. Используйте доступ к данным только через DAO (yii\db\Command), а не через модели. Эти миграции необходимы для существующих баз данных.

Руководство стиля JavaScript

JavaScript код ДОЛЖЕН придерживаться JavaScript Standard Style.

Рекомендуемые IDE:

  • Atom

  • PhpStorm

  • Eclipse

  • VS Code

  • Sublime Text

  • Предпочтительнее использовать spread-оператор ({...anotherObj}) вместо Object.assign()

  • export-выражение где это возможно

  // Используйте это:
  export default class ClassName {

  }

  // А не это:
  class ClassName {

  }
  export default ClassName

Composer

https://getcomposer.org/doc/04-schema.md

Во всех случаях, когда файл composer.json обновлен, добавьте файлы composer.json и composer.lock в один и тот же коммит.

Каждый подключаемый пакет должен содержать определенную версию. Не используйте версии * и @dev.