Идея на самом деле очень хорошая. В отличие от обычных рабочих процессов, вы сохраняете обзор непосредственно в коде, поэтому технически вам не нужен ничего, кроме текстового редактора, чтобы использовать этот рабочий процесс. Хорошая поддержка в IDE, особенно возможность отображать список отзывов внизу.
Он отлично работает для очень маленьких команд, но более крупные команды требуют отслеживания того, что было проверено, когда, кем и с каким результатом. Несмотря на то, что у вас действительно есть такой тип отслеживания (контроль версий позволяет узнать все это), его чрезвычайно сложно использовать и искать, и часто требуется ручной или полуручной поиск по ревизиям.
Я не верю, что рецензент имеет достаточно отзывов от рецензента, чтобы знать, как на самом деле были применены рецензированные пункты .
Представьте себе следующую ситуацию. Алиса впервые просматривает кодекс Эрика. Она отмечает, что Эрик, молодой разработчик, использовал синтаксис, который не является наиболее описательным в фактически используемом языке программирования.
Алиса предлагает альтернативный синтаксис и передает код обратно Эрику. Он переписывает код, используя этот альтернативный синтаксис, который, как он считает, понимает правильно, и удаляет соответствующий // BLA
комментарий.
На следующей неделе она получает код для второго обзора. Сможет ли она на самом деле вспомнить, что она сделала это замечание во время своего первого обзора, чтобы увидеть, как Эрик решил это?
В более формальном процессе проверки Алиса сразу увидела, что она сделала замечание, и увидела разницу в соответствующем коде, чтобы заметить, что Эрик неправильно понял синтаксис, о котором она ему рассказала.
Люди все еще люди. Я почти уверен, что некоторые из этих комментариев окажутся в рабочем коде, а некоторые останутся мусором, будучи полностью устаревшими .
Конечно, та же проблема существует с любым другим комментарием; например, в производстве есть много комментариев TODO (включая самый полезный: «TODO: прокомментируйте код ниже.») и множество комментариев, которые не были обновлены, когда был соответствующий код.
Например, первоначальный автор кода или рецензент может уйти, а новый разработчик не поймет, что говорит обзор, поэтому комментарий останется навсегда, ожидая, что кто-то будет слишком смел, чтобы стереть его или действительно понять, что это говорит.
Это не заменяет очную проверку (но та же проблема относится и к любой другой, более формальной проверке, которая не проводится лицом к лицу).
Особенно, если исходный отзыв требует объяснения, рецензент и рецензент начнут своего рода обсуждение . Мало того, что вы окажетесь с большими комментариями BLA, но эти обсуждения также загрязнят журнал контроля версий .
Вы также можете столкнуться с незначительными проблемами с синтаксисом (который также существует для комментариев TODO). Например, что если длинный комментарий "// BLA" появляется в несколько строк, и кто-то решает написать его следующим образом:
// BLA This is a very long comment which is way beyond 80 characters, so it actually
// fills more then one line. Since the next lines start with slashes, but not "BLA"
// keyword, the IDE may not be able to show those lines, and display only the first one.
И, наконец, небольшая и очень личная заметка: не выбирайте «BLA» в качестве ключевого слова. Звучит ужасно. ;)