Code review tools

27 views
Skip to first unread message

Yuriy Mann

unread,
Oct 10, 2007, 9:38:40 PM10/10/07
to Agile Software Development Group, Ukraine
Всем привет.

В соседней ветке затронули вопрос инструментария для Code Review,
упоминались Code Collaborator и Jupiter:
http://groups.google.ch/group/agile-ukraine/browse_frm/thread/79f434aac61493de?hl=en

Я как раз собирался искать такой тул для проекта. Если кто-то знает
другие альтернативы, пригодные для .NET и Subversion, поделитесь плз.
Буду благодарен также за ссылки на толковые сравнения различных
инструментов.

Borys Lebeda

unread,
Oct 11, 2007, 1:31:07 AM10/11/07
to agile-...@googlegroups.com
Code Collaborator вещь красивая, но в большинстве случаев хватает WinMerge.
- я не вижу большого преимущества в удалённом код ревью: всегда гораздо эффективнее если автор и референт сидят рядом и общаются с глазу на глаз, а не через IM.
- референт в подавляющем большинстве случаев один, так что многопользовательский интерфейс тоже не нужен
- метрики кода в просмотренном изменении кода теряют смысл: Ты ж, мол сам код видел, и понимаешь можно было там обойтись без цикломатической сложности или нет.
- код после последней правки всё равно нужно скомпилировать, поэтому:
а) легче не будет
б) acceptance criteria для кода у каждого проекта свои
 
У меня было пару соображений, что бы сделать в P4 (системе контроля версий) обязательное поле Reviewer, который содержит ссылку на программиста, который просматривал код, или prototyping, но времени и сил на этот эксперимент сейчас пока нет ...
 
--
Borys L.

Dmitry Danilchenko

unread,
Oct 11, 2007, 5:19:08 AM10/11/07
to agile-...@googlegroups.com
ÐŸÑ€Ð¸Ð²ÐµÑ‚Ñ Ñ‚Ð²ÑƒÑŽ!

Ð´Ð»Ñ .net ÐµÑ Ñ‚ÑŒ FxCop :http://www.gotdotnet.com/Team/FxCop/
http://www.microsoft.com/rus/msdn/publish/articles/reviewingmanagedcode.mspx

FxCop Ñ‚Ð°Ñ Ðº можно Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñ Ñ‚ÑŒ Ð½ÐµÐ¿Ð¾Ñ Ñ€ÐµÐ´Ñ Ñ‚Ð²ÐµÐ½Ð½Ð¾ из CruiseControl.Net.





Yuriy Mann <yury...@gmail.com> wrote:
Ð’Ñ ÐµÐ¼ привет.

Ð’ Ñ Ð¾Ñ ÐµÐ´Ð½ÐµÐ¹ ветке затронули Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ð½Ñ Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð´Ð»Ñ Code Review,
ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð»Ð¸Ñ ÑŒ Code Collaborator и Jupiter:
http://groups.google.ch/group/agile-ukraine/browse_frm/thread/79f434aac61493de?hl=en

Я как раз Ñ Ð¾Ð±Ð¸Ñ€Ð°Ð»Ñ Ñ Ð¸Ñ ÐºÐ°Ñ‚ÑŒ такой тул Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°. Ð•Ñ Ð»Ð¸ кто-то знает
другие альтернативы, пригодные Ð´Ð»Ñ .NET и Subversion, Ð¿Ð¾Ð´ÐµÐ»Ð¸Ñ‚ÐµÑ ÑŒ плз.
Буду благодарен также за Ñ Ñ Ñ‹Ð»ÐºÐ¸ на толковые Ñ Ñ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ…
Ð¸Ð½Ñ Ñ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð².




Serhiy Yevtushenko

unread,
Oct 11, 2007, 9:19:44 AM10/11/07
to agile-...@googlegroups.com
Я могу сказать, что Code Collaborator и Юпитер обеспечивают возможность независимого логирования ошибок, фоллов-апа всех исправлений (ре ревью), отсутвие потери замечаний. Дополнительно - Code Collaborator обеспечивает сбор метрик по поводу эффективность коде ревью.
 
Code Collaborator интегрируется с Subversion и поддерживает С# (по данным производителя).
 
У нас главная проблема с ним была сложность интеграции из-за инфраструктуры клиента (очень параноидальная требования секьюрити со стороны клиента)

 

Olex

unread,
Oct 25, 2007, 5:50:24 AM10/25/07
to Agile Software Development Group, Ukraine
Мы при код ревью просто ставим в коде таги, например:

//POINT [aku2mu] don't use magic numbers!
var someNumber = 4;
...

Есть конвеншин по набору тагов, у них разные приоритеты и смысл.
Еклипсовый таск-вью все замечательно показывает, можно фильровать по
автору, дескрипшину, приоритету

какое преимущество в использовании специальных тулзов/плагинов для
этого?
зачем хранить ревью коменты отдельно от кода?

On Oct 11, 4:19 pm, "Serhiy Yevtushenko" <syevtushe...@gmail.com>
wrote:

Yuriy Mann

unread,
Oct 26, 2007, 8:26:35 AM10/26/07
to Agile Software Development Group, Ukraine
> какое преимущество в использовании специальных тулзов/плагинов для
> этого?

Проблема в том, что при обширном рифакторинге, например (он может быть
вызван незначительным изменением или багфиксом) представляется
некорректным простить девелоперов вставлять комментарии в каждой
измененной строчке - их может быть тысяча в десяти файлах.
Хотелось бы, чтобы ревьювер мог сгенерить список файлов, измененных
девелопером в рамках конкретной фичи или багфикса, и конкретные
изменения в каждом файле.

Логично пользоваться специальными метками в комментариях к change
packages в сорс контроле. Но тогда будет неудобно в случае
одновременных правок в одних и тех же файлах несколькими
программистами.

Насколько я понимаю (и основываясь на том, что слышал от других),
специальные тулы как раз должны облегчать эту проблему.

> > клиента (очень параноидальная требования секьюрити со стороны клиента)- Hide quoted text -
>
> - Show quoted text -

Olex

unread,
Oct 26, 2007, 9:23:27 AM10/26/07
to Agile Software Development Group, Ukraine
Не, мы не ставим таги для поиска измененным мест.
Они ставятся в двух случаях:

1. Пищущий код сомневается и ставит:
//POINT [kmu2sme] you are a big expert in swing, how can I avoid hack
here?

2. Ревьювер видит плохой код и пишет
//FIXME [sme2kmu] bad approach! ...

Для поиска измененных кусков кода мы не используем ничего,
иногда и правда это бывает нужно.

Так юпитер/коллаборатор это позволяют сделать?

Т.е. я пишу код, при коммите ставлю какой то аттрибут, потом по нему
можно сделать diff
или каким образом?

Serhiy Yevtushenko

unread,
Oct 26, 2007, 11:11:12 AM10/26/07
to agile-...@googlegroups.com
Code collaborator позволяет делать ревью по диффам, при создании ревью можно просто добавлять в него changelist (в терминологии перфорса).
Jupiter, насколько я знаю, нет
 
Так же он позволяет считать метрики, которые позволяют управлять эффективностью процесса коде ревью.

 
26.10.07, Olex <olexandr....@gmail.com> написал(а):

seron...@gmail.com

unread,
Oct 26, 2007, 6:59:34 AM10/26/07
to Agile Software Development Group, Ukraine
Успішно використовуємо Cruicible (http://www.atlassian.com/software/
crucible/). Досить приємна утиліта, хороше юзабіліті, класна
інтеграція з Subversion.

On 11 Жов, 04:38, Yuriy Mann <yurym...@gmail.com> wrote:
> Всем привет.
>
> В соседней ветке затронули вопрос инструментария для Code Review,

> упоминались Code Collaborator и Jupiter:http://groups.google.ch/group/agile-ukraine/browse_frm/thread/79f434a...

Reply all
Reply to author
Forward
0 new messages