Я пытаюсь продать свою организацию за ценность проверок кода. Я работал в нескольких местах, где они работали. Я видел, как они привыкли к придирчивому стилю и функциональным решениям, и я видел, что они использовались как не более чем инстинктивная проверка, чтобы убедиться, что ничего опасного не реализуется. Я чувствую, что самая эффективная цель - где-то между этими двумя вариантами.
Итак, какова цель проверки кода?
code-reviews
theory
SoylentGray
источник
источник
Ответы:
Есть несколько причин, по которым вы хотели бы провести проверку кода:
Существует несколько бизнес-кейсов для проведения обзоров:
Если вы ищете всестороннее обсуждение преимуществ и стратегий реализации для экспертных обзоров, я бы порекомендовал проверить экспертные обзоры в Software: A Practical Guide от Karl Wiegers .
источник
this
контекст, а не использует его.hasOwnProperty
в местах, где он должен быть, и т. Д. И т. Д. Итак, главным образом для стандартов. В управляемом языке, таком как C #, у вас, конечно, меньше причин, чем для динамических языков.Обзоры кода являются инструментом для передачи знаний .
Когда разработчики рассматривают код друг друга, они знакомятся со всеми областями системы. Это уменьшает фактор шины проекта и делает разработчиков более эффективными, когда приходится выполнять обслуживание части системы, которую они не написали.
Когда младший программист просматривает код старшего, младший программист может уловить трюки, иначе изученные только через опыт. Это может также работать как корректирующее средство против чрезмерно сложного кода.
Тщательный анализ кода потребует частых проверок различной документации. Это отличный способ выучить язык или API.
Когда старший программист просматривает код младшего, это возможность сгладить проблемы, прежде чем они перерастут в технический долг. Обзор кода может быть хорошим параметром для обучения младших программистов.
Обзоры кода не о:
... поиск ошибок. Для этого и нужны тесты. По-прежнему часто случается, что проверка кода находит какую-то проблему.
… Придирчивость к стилевым проблемам - остановитесь на одном стиле и используйте его для автоматизации. Но есть много вещей, которые автоматизированный инструмент не может проверить. Обзоры кода - это хорошее место, чтобы убедиться, что код достаточно документирован или самодокументирован.
источник
Самая ценная вещь, которую я лично получаю из обзора кода, - это уверенность, что код понятен другому человеку. Переменные четко названы? Является ли цель каждого куска кода достаточно очевидной? Что-то двусмысленное уточняется с комментарием? Описаны ли крайние случаи и допустимые значения параметров в комментариях и проверены ли они в коде?
источник
Я хотел бы добавить две области, не охваченные другими хорошими ответами:
Одной из серьезных причин для анализа кода является эффект Хоторна, который в нашем случае означает: если вы знаете, что кто-то будет смотреть на ваш код впоследствии, то, скорее всего, вы будете писать его лучше.
Еще одна веская причина - это более безопасные методы разработки. Достаточно взглянуть на ошибку Apple goto (случайное дублирование строки кода) или ошибку Heartbleed (базовый сбой при проверке входных данных), чтобы понять важность правильных проверок кода в безопасном жизненном цикле разработки.
источник