Привет! Для начала, спасибо, что хотите помочь с развитием проекта и интересуетесь, как это сделать правильно 👍
Ниже приводятся наши рекомендации, следуя которым будет просто и удобно содержать репозиторий в "чистоте" и порядке. Так, что, пожалуйста, прочтите, если вы хотите:
Этот проект и любой его участник обязуется соблюдать кодекс поведения участника. В качестве кодекса мы используем Contributor Covenant v 2.0
Если вы нашли необходимое количество времени и решили внести свой вклад в развитие проекта, просим вас следовать плану действий описанному ниже. Эти несложные, но очень важные действия помогут нашему проекту оставаться "чистым" и не "захламленным", а значит удобным в использовании.
- Fork - создайте Fork репозтория в свой персональный репозиторий.
- Clone - Клонируйте получившийся репозторий.
- Branch - Создайте новую ветку в репозитории и назовите её так, чтобы название отражало суть вносимых изменений.
- Commit - Внесите необходимые изменения в код проекта, оставляя внятные комментарии описывающие суть вносимых изменений, указанием на ISSUE которое вы решаете и с соблюдением принятого в основном репозитории Code Style. Старайтесь не вносить изменений не связанных напрямую с решаемой Вами задачей, такие изменения не будут приняты ревьюверами.
- Fetch - Получите актуальное состояние основного репозитория и исправьте при неоходимости полеченые конфликты слияния.
- Pull Request - После успешного исправления дифекта, разработки новой фичи и написания юнит-тестов к новому коду, создайте Pull Request в основной репозиторий проекта. В описании Pull Request'а постарайтесь максимально подробно описать его назначение.
Имена функциональных веток должны кратко, в 1-2-3-4 слова (слова разделяются дефисом), характеризовать назначение ветки.
Нет необходимости включать в наименование ничего не значащие или понятные только вам аббревиатуры, постфиксы, указания на нежелаемое поведение.
Хороший пример: fix-service-control
Плохой пример: ab1000610777_notStmt-branch - WTF?!
Многострочный комментарий состоит из однострочного заголовка, отделённого от тела пустой строкой. Длина строки заголовка и тела не должна превышать 80 символов. Тело комментария должно содержать информацию о том, что сделано и зачем это было сделано. Многострочный комментарий используется при необходимости детализировать назначение набора изменений. Если правка относится к задаче, в заголовке указывается номер задачи ISSUE.
Например:
#1234. Выгрузка отчета в формате CSV.
Заголовок обязательно должен включать номер задачи в ISSUE и тему, характеризующую изменения.
Вы уже проверили существующий список предложений и убедились, что интересующий Вас функцинал ренее никем не предложен. Тогда, пожалуйста, опишите максимально подробно Ваше предложение. Сформулируйте поведение решения сейчас и как оно изменится после реализации вашего предложения. Какую проблему Вы пытаетесь решить? Кому будет полезна реализация вашего предложения.
Вы уже проверили существующий список проблем/дефектов и убедились, что найденый Вами дефект не был заведен ранее. Простарайтесь максимально подробно описать способы воспроизведения проблемы, ожидаемый и полученый результаты. По возможности соберите дополнительную информацию и приложите её к описанию. Будет полезно видеть:
- Операционную систему, её версию
- Браузер, его версию
- Версию решения
- Скриншоты, логи, дампы
- Любая дополнительная информация которая вам покажется важной для локализации и устранения проблемы.
| Метка | Назначение |
|---|---|
| work-in-progress | Работа над задачей еще не завершена. Используется автором для избежания преждевременного ревью и дает ревьюверам понять, что данный запрос еще не готов к проверке. |
| work-completed | Данной меткой автор сообщает ревьюверам, что работа над кодом завершена и он готов к проверке |
| documentation | Изменения вносимые в документацию к продукту, не несущие изменений в основном коде решения и не влияющие на его работу |
| Метка | Назначение |
|---|---|
| bug | Дефекты, проблемы, неожиданное поведение |
| feature | Новый функционал |
| documentation | Правки или развитие документации |
| duplicate | ISSUE с описанием проблемы/фичи уже существует. Требует обязательного указания на существующий элемент |
| wontfix | Работа по данному ISSUE производиться не будет. Требует обязательного описания причины |