Я бы не назвал себя суперзвездным разработчиком, но относительно опытным. Я стараюсь поддерживать качество кода на высоком уровне и всегда стараюсь улучшить мой стиль кодирования, стараюсь сделать код эффективным, читаемым и последовательным, а также побуждаю команду следовать шаблонам и методологиям для обеспечения согласованности. Я также понимаю необходимость баланса между качеством и скоростью.
Чтобы добиться этого, я представил своей команде концепцию экспертной оценки. Два больших пальца в github pull-запросе на слияние. Отлично - но не на мой взгляд без икоты.
Я часто вижу комментарии рецензентов от таких же коллег, как -
- Было бы хорошо добавить пробел после
<INSERT SOMETHING HERE>
- Нежелательная лишняя строка между методами
- Полная остановка должна использоваться в конце комментариев в docblocks.
Теперь с моей точки зрения - рецензент поверхностно смотрит на эстетику кода - и на самом деле не выполняет рецензирование кода. Обзор косметического кода мне кажется высокомерным / элитарным менталитетом. Ему не хватает содержания, но вы не можете много спорить с ним, потому что рецензент технически прав . Я бы предпочел видеть меньше обзоров, перечисленных выше, и больше обзоров:
- Вы можете уменьшить цикломатическую сложность ...
- Выходите пораньше и избегайте если / еще
- Абстрагируйте ваш запрос к базе данных в хранилище
- Эта логика на самом деле не принадлежит здесь
- Не повторяйте себя - абстрагируйтесь и используйте повторно
- Что произойдет, если
X
будет передано в качестве аргумента методаY
? - Где для этого модульный тест?
Я считаю, что это всегда одни и те же люди, которые дают косметические типы обзоров, и те же самые люди, которые, по моему мнению, дают «рецензии на основе качества и логики».
Что (если таковые имеются) является правильным подходом к рецензированию. И прав ли я в том, что разочарован теми же людьми, которые в основном бегают по коду в поисках орфографических ошибок и эстетических дефектов, а не реальных дефектов кода?
Если я прав - как бы я побудил коллег на самом деле искать ошибки в коде в сочетании с предложением косметической коррекции?
Если я не прав - пожалуйста, просветите меня. Существуют ли практические правила для того, что на самом деле представляет собой хороший обзор кода? Я пропустил суть того, что такое обзоры кода?
С моей точки зрения, обзор кода касается совместной ответственности за код. Я бы не чувствовал себя комфортно, давая большой палец к коду без адресации / проверки логики, читабельности и функциональности. Я также не стал бы блокировать объединение для твердого куска кода, если бы заметил, что кто-то пропустил точку остановки в doc-блоке.
Когда я просматриваю код, я трачу примерно 15-45 минут на 500 лок. Я не могу себе представить, чтобы эти поверхностные обзоры занимали больше 10 минут, если они занимают такую глубину. Кроме того, сколько стоит большой палец от мелкого рецензента? Конечно, это означает, что все большие пальцы не имеют одинаковый вес, и, возможно, необходимо выполнить процесс проверки в два прохода. Один большой палец для глубоких обзоров и второй большой палец для «полировки»?