Обзоры кодов и PR заслуженно известны как фантастический способ улучшить качество кода и продукта.
Я считаю, что наличие контрольного списка очень удобна для запоминания всех чеков для выполнения и контекста, чтобы дать рецензенту.
Добавление шаблона на вашу платформу
На некоторых платформах репозитория и CI вы можете автоматически заполнить поле описания PR с помощью контента, чтобы напомнить себе, что учитывать для каждого обзора.
Вам нужно будет проверить инструкции для вашей конкретной платформы, но в целом это означает добавление .md
файл в конкретный каталог. Например:
docs/pull_request_template.md | GitHub |
/DOCS/ pull_request_template/my_template_name.md | Лазурные DevOps |
Мой шаблон запроса на притяжение в формате Markdown
Вот контрольный список, который я использую. Есть ли что -нибудь, что вы бы добавили или удалили?
# Summary - [] Bug fix (non-breaking change which fixes an issue) - [] New feature (non-breaking change which adds functionality) - [] This change has database scripts _Describe the specific issue this is fixing, just a summary will do if there is a link back to the work item that this change adresses._ # What has changed _Summarize the change made e.g. Small change - added new UI element, wired it up to existing data model._ ## In scope areas _Specify the specific areas of code or modules that have been affected by this change. e.g. frontend only, backend only or ticketing module and authentication module._ ## Out of scope areas _List any areas that could usually be assumed to have been changed but are not in this case. The point is to save the reviewer and tester time._ # Risk _Describe the risks that apply to your application. This will be very specific to your business but some of the common risks are_ - [] Does not use our gradual release process - [] Handles PII that needs to be compliant with GDPR requirements - [] Adds new libraries - [] Third-party apis (dependancy must be resiliant) - [] Requires specific access control (e.g. admin only functionality) - [] Handles money amounts - [] Has specific OWASP security concerns([https://nodegoat.herokuapp.com/tutorial](https://nodegoat.herokuapp.com/tutorial)) # Author pre-publish checklist: - [] Has relevant logging - [] Meets our coding standards (link*to_your_coding_standards) - \_Prefer auto-linting for this if possible* - [] I have performed a self-review of my own code (link_to_standards) - [] I have added tests that prove my fix is effective or that my feature works - [] New and existing unit tests pass with my changes - [] There are no obvious injection issues - [] User input is validated - [] No PII is stored to logs - [] My changes generate no new warnings - [] I have sat with a tester to demo and discuss the change - [] Relevant authorization checks are implemented - [] I have made corresponding changes to the documentation # Developer testing performed _Describe the testing you have performed as part of this change. Note it here for the reviewer and tester. Note if there is any data or scripts required to set the system up correctly to test your feature._ _Is there any testing that seems like it would be needed in this case but maybe isn't required? - note it here with reasoning for the reviewer and tester_ # Reviewer checklist - [] All the risks above are not present or have been mitigated
Вывод
Использование шаблона может показаться слишком большой бюрократией, но это действительно полезно, когда у вас есть место, чтобы добавить проблемы, которые регулярно отображаются в запросах на притяжение.
Это помогает автору исправить их, прежде чем тратить чье -то время.
Шаблон запроса на притяжение гарантирует, что у каждого достаточно контекста для работы с новым кодом, прежде чем он будет объединен (например, тестирование).
Шаблон запроса на вытягивание невероятно полезен для новых членов команды, чтобы понять уровень качества, требуемый вашей организацией, и показать им, что в настоящее время важно для инженерии.
например Когда вы делаете постепенный общеобразовательный рефактор и не хотите, чтобы кто-то использовал «старый способ» что-то делать Но в вашей кодовой базе все еще есть много примера.
Шаблон обзора кода может быть использован для показа нового члена команды, что они больше не должны использовать эту технику, даже если они видят ее везде.
Вы можете удалить вещи из шаблона запроса на притяжение, когда он больше не актуально. Это живой документ, который поддерживает разработчиков в вашей команде.
Шаблон обзора кода содержит хороший список вещей, которые могут быть автоматизированы в вашей организации.
Вы должны быть в поисках способов добавить шаг CI или крючок перед набором для автоматизации чека. Это создает большие проблемы с хакатоном!
Оригинал: «https://dev.to/darraghor/how-i-enhance-pull-request-quality-on-github-and-azure-devops-13io»