Я б не називав себе суперзірковим розробником, але відносно досвідченим. Я намагаюся підтримувати якість коду на високому рівні, і завжди прагну вдосконалити мій стиль кодування, намагаюся зробити код ефективним, читабельним та послідовним, а також заохочую команду дотримуватися шаблонів та методологій, щоб забезпечити послідовність. Я також розумію необхідність балансу між якістю і швидкістю.
Щоб досягти цього, я представив своїй команді концепцію експертної оцінки. Два пальці вгору в github pull-прохання про злиття. Чудово - але не на мій погляд без гикавок.
Я часто бачу коментарі експертних оцінок від тих самих колег, як -
- Було б добре додати пробіл після
<INSERT SOMETHING HERE>
- Небажана додаткова лінія між методами
- Повна зупинка повинна використовуватися в кінці коментарів у docblocks.
Зараз з моєї точки зору - рецензент поверхово дивиться на естетику коду - і насправді не виконує огляд коду. Огляд косметичного коду до мене сприймається як зарозумілий / елітарний менталітет. У ньому бракує речовини, але ви справді не можете занадто сперечатися з цим, оскільки рецензент технічно коректний . Я набагато скоріше бачу менше перелічених вище відгуків, а більше таких відгуків:
- Ви можете зменшити цикломатичну складність, ...
- Вийдіть рано та уникайте, якщо / ще
- Анотація запиту БД до сховища
- Ця логіка насправді тут не належить
- Не повторюйте себе - абстрактно та повторно використовуйте
- Що буде, якби
X
було передано як аргумент методуY
? - Де для цього є одиничний тест?
Я вважаю, що це завжди одні і ті ж люди, які дають відгуки про косметичні типи, і ті ж типи людей, які, на мою думку, дають рецензії на основі якості та логіки.
Який (якщо такий є) правильний підхід до експертної оцінки. І я маю рацію в тому, що засмучуються одними і тими ж людьми, в основному переглядаючи код, шукаючи орфографічні помилки та естетичні дефекти, а не фактичні дефекти коду?
Якщо я маю рацію - як би я міг заохочувати колег насправді шукати несправності в коді, врівноважуючи запропоновані косметичні підкреслення?
Якщо я невірний - просвіти мене, будь ласка. Чи є якісь правила щодо того, що насправді є хорошим переглядом коду? Я пропустив пункт про те, що таке огляди коду?
З моєї точки зору - перегляд коду - це спільна відповідальність за код. Мені не було б зручно надавати великі пальці коду без адреси / перевірки логіки, читабельності та функціональності. Я також не заважаю блокувати злиття для суцільного коду, якби я помітив, що хтось пропустив повну зупинку в doc-блоці.
Переглядаючи код, я витрачаю, можливо, від 15 до 45 хвилин на 500 лок. Я не уявляю, як ці дрібні огляди займають більше 10 хвилин, якщо це глибина перегляду, яку вони виконують. Далі, на скільки значення має великий палець від неглибокого рецензента? Безумовно, це означає, що всі великі пальці не мають однакової ваги і потрібно пройти процедуру огляду за 2 проходи. Один великий палець для глибоких оглядів та другий великий палець для "полірування"?