Middle+
Kako je organizovan proces pregleda koda u vašem timu?
sobes.tech АИ
Одговор од АИ
Ми смо користили заједнички развој помоћу система контроле верзија Git и платформе за управљање репозиторијумима (на пример, Bitbucket или GitLab). Процес прегледа кода био је организован на следећи начин:
- Креирање гране: Развојни инжењер креира одвојену грану за нову функцију или исправку грешке (
git checkout -b feature/my-new-feature). - Развој и комити: У грани се врше измене које се снимају комитима (
git add .,git commit -m "Initial feature implementation"). - Пуш у удаљени репозиторијум: Грана се шаље у удаљени репозиторијум (
git push origin feature/my-new-feature). - Креирање Pull/Merge захтева: Развојни инжењер креира Pull Request (у Bitbucket-у) или Merge Request (у GitLab-у), указујући на циљну грану (на пример,
developилиmain). У опису се наводи кратак опис измена, линкови ка задацима у трејсеру (Jira, Trello итд.) и приложени фајлови (скриншотови, видео снимци, дијаграми). - Додељивање рецензената: Додељују се један или два развојна инжењера из тима за преглед.
- Процес прегледа: Рецензенти прегледају измене у Pull/Merge захтеву. Они могу остављати коментаре, предлагати унапређења, постављати питања.
// Пример коментара током прегледа function fetchData() { // Можда би требало додати обраду грешака при захтеву података return fetch('/api/data'); } - Унос измена по резултатима прегледа: Развојни инжењер уноси потребне измене у своју грану на основу коментара рецензената и прави нове комитове.
- Ажурирање Pull/Merge захтева: Измене се аутоматски приказују у Pull/Merge захтеву након пуштања у удаљени репозиторијум.
- Поновни преглед: Рецензенти поново прегледају измене и дају одобрење.
- Мерџа гране: Након добијања одобрења, грана се спаја у циљну грану (обично аутоматски средствима платформе након проласка CI/CD пипејплина).
Такође смо користили CI/CD пипејплан за аутоматско покретање јединичних тестова, статичку анализу кода (ESLint, Prettier) и изградњу пројекта пре спајања, што је помагало у раном откривању грешака.
Критеријуми за успешан преглед укључивали су:
- Усклађеност са захтевима задатка.
- Следење код-стила тима.
- Постојање јединичних тестова за критичку логику.
- Недостатак очигледних грешака и "костура".
- Јасност кода за друге чланове тима.