?

Log in

No account? Create an account
стена, я, в профиль

Code review на коленке


Ревью кода -- очень полезная штука и делать его можно разными способами [1]. Однако лучше его делать с помощью инструментов. Минус их только в том, что это отдельные, новые инструменты, которые в случае платных (напр. CodeCollaborator) стоят денег, а в случае бесплатных -- неудобны и долги в настройке. Недавно меня посетила идея, как сделать это же самое без отдельных инструментов, а тем, что у нас у всех есть под рукой (не ручка и бумага!).
Методология подходит больше для распределенных систем управления версиями: mercurial, git, bazaar. Общая идея -- фичи (баги, таски) разрабатываются в отдельных ветках, а-ля gitflow [2], а потом публикуются на некий сервер -- можно даже центральный. Когда у нас в gitolite`е права настроены, что можно все, кроме develop`а и master`а, тогда не страшно. Комменты, которые пишет тот, кто код просматривает, пишутся  в стиле TODO, только со своим тегом. Например "BLA":
$ourcoolcode = 123;
// BLA Что это тут у нас такое?
echo $ourcoolcode;
Любая современная IDE`шка умеет экстрактить TODO`шки, а затем и фильтровать их. Это точно умеет eclipse и netbeans -- phpstorm и прочие платные обязаны просто.
В итоге можно меняться комментами в ветке, пока всё не станет ясно и они не кончатся. По окончании процесса, когда код станет лучше, ветку можно смело stash`ить и merge`ить в основную (develop).
Плюсы:
  • используются абсолютно родные инструменты
  • всё изначально разделено
  • все проблемы видны сразу и IDE`шки в этом нам помогают
Минусы:
  • наколеночность
ps: М.б. это -- велосипед и есть что-то проще/лучше?
_________________________________________________________________________
[1] http://en.wikipedia.org/wiki/Code_review
[2] http://nvie.com/posts/a-successful-git-branching-model/

Comments

стена, я, в профиль

Октябрь 2012

Вс Пн Вт Ср Чт Пт Сб
 123456
78910111213
14151617181920
21222324252627
28293031   
Разработано LiveJournal.com