Ідея насправді дуже приємна. На відміну від звичайних робочих процесів, ви зберігаєте огляд безпосередньо в коді, тому технічно вам не потрібно нічого, крім редактора тексту, щоб використовувати цей робочий процес. Підтримка в 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" як ключове слово. Це звучить некрасиво. ;)