Прежде всего, спасибо, что нашли время внести свой вклад!:+1::tada:
- Сообщение об ошибках
- Предложение об улучшении
- Ваш первый вклад в качестве контрибьютора
- Добавление функциональности и исправление ошибок
- Создание документации
- Перевод документации
Перед созданием заявки об ошибках, проверьте список заявок, возможно дублирующая заявка уже существует. Если вы нашли закрытую заявку об ошибке, которая похожа на вашу, не нужно ее переоткрывать. Заведите новую заявку и добавьте ссылку на существующую. Если найденная заявка открыта, отпишитесь в нее.
Перед заведением заявки проверьте, что ошибка воспроизводится на последней версии приложения.
- Используйте понятные формулировки.
- Укажите версию приложения, на которой возникла проблема.
- Опишите конкретные шаги, которые приводят к проблеме. Считается хорошим тоном, если предоставлено как можно больше подробностей.
- Опишите, что вы ожидали получить в результате своих действий и какой результат получен на самом деле.
- Прикрепите сообщение об ошибке, которое отображена в браузере, прикрепите файл лога
.log
, конфигурационный файлapplication-conf.properties
.
Перед созданием предложения проверьте текущие заявки, возможно улучшение уже предложено. Если нет, заведите заявку и детально опишите предложение.
- Используйте понятные формулировки.
- Укажите какую версию приложения вы используете.
- Предоставьте пошаговое описание предлагаемого усовершенствования как можно подробнее.
- Опишите текущее поведение и объясните, какое поведение вы ожидаете увидеть и почему.
- Объясните, почему это усовершенствование будет полезно для большинства пользователей.
Проблемы для новых контрибьюторов - проблемы, для которых требуется всего несколько строк кода. Заявки, с которых стоит начать, отмечены лейблом good for first issue.
Исправление ошибок и разработка новой функциональности должна вестись в pull request, дублировать разработку заявкой
не нужно. Если заявка существует, ее нужно прилинковать, добавив в description заявки последней строчкой
текст
Closes gh-NNN
, где NNN - это номер существующей заявки, пример.
Если вы считаете, что какая-то часть работы приложения недостаточно хорошо задокументирована, расширьте документацию через pull request. Документация располагается в директории docs.
Согласно данным Московской биржи и НРД доля нерезидентов в ОФЗ достигает 30%, а на рынке акций - 50%. Важным вкладом в развитие проекта является перевод существующей документации на другие языки.
Работа с заявками (issues) и пулл реквестами (pull request) должна вестись с использованием лейблов (labels).
После заведения заявки или пулл реквеста, ей присваивается один из типов:
bug
- проблема;feature
- новая функциональность;improvement
- улучшение существующей функциональности;doc
- запрос на доработку документации;task
- задача, тип которой не может быть отнесен ни к одной из предыдущих категорий;
и приоритет:
critical
- для отчетов об ошибке, которые приводят к неработоспособности приложения во всех случаях или при определенных обстоятельствах;major
- для существенных улучшений функциональности, которые затрагивают широкий круг пользователей, или для ошибок приложения (например, ошибка подсчета доходности, выплат дивидендов, купонов, амортизации);minor
- для улучшений функциональности, которые затрагивают узкий круг пользователей, или ошибок, не влияющих на основной функционал (например, опечатки).
После первичного анализа контрибьютор может выставить на заявку или пулл реквест один из статусов:
question
- если имеется вопрос по заявке;duplicate
- если заявка или пулл реквест дублирует существующую, они связываются с существующими комментарием 'Duplicate of gh-NNN', новая заявка закрывается, пулл реквест закрывается без мерджа;invalid
- если заявка или пулл реквест оформлена с ошибками, которые не могут быть исправлены (например, вандализм).
Заявка или пулл реквест рекомендованная контрибьюторам помечается одним из лейблов:
good first issue
- заявка для новых контрибьюторов;help wanted
- заявка для опытных контрибьюторов.
В процессе работы над заявкой или пулл реквестом изменяется статус:
- нет статуса - для новых заявок;
planned
- объем доработок по заявке определен и запланирован;wontfix
- ошибки в работе приложения не найдено или в процессе обсуждения решено отклонить новую функциональность;limitation
- имеется ограничение, не зависящее от команды разработки, которое не позволяет исправить ошибку или реализовать новую функциональность;in progress
- заявка или пулл реквест в работе;done
- заявка или пулл реквест выполнены, ожидают ревью кода и мерджа в релизную ветку или в ветку фикса.
Заявка может быть закрыта:
- сразу после установки одного из статусов
duplicate
,invalid
илиwontfix
. - после установки статуса
done
, ревью кода и мерджа связанного пулл реквеста.
Работа с репозиторием ведется в рамках следующих соглашений.