Добавить в корзинуПозвонить
Найти в Дзене
Тимлид Разработки

На что обращать внимание при проверке кода?

Часто приходится слышать споры по поводу того, на что нужно обращать внимание в первую очередь при проверке кода. Одни смотрят на синтаксические конструкции, другие — на производительность алгоритмов, третьи — на архитектуру. Давайте попробуем разобраться с этим по-подробнее. Очевидно, что самым главным является соответствие кода цели поставленной задачи. Если код никак не обеспечивает результат, то и смысла его проверять совершенно отсутствует. Экспресс-тестирование является необходимым условием перед началом инспекции, которое упорно продолжают игнорировать. Да и ещё под предлогом того, что ревью кода существует не для поиска дефектов, а для чистого и красивого кода. Те, кто так позволяет себе говорить, забывают, что ревью направленно на самое раннее обнаружение проблем, и чем раньше они будут выявлены, тем дешевле и быстрее обойдётся их решение. Замечательно, если код будет подкреплён автотестами, прогоняющие заранее подготовленные приёмочные сценарии. Тогда экспресс-тестирование за

Часто приходится слышать споры по поводу того, на что нужно обращать внимание в первую очередь при проверке кода. Одни смотрят на синтаксические конструкции, другие — на производительность алгоритмов, третьи — на архитектуру. Давайте попробуем разобраться с этим по-подробнее.

Проверка кода базируется на двух слонах - «Обеспечение цели поставленной задачи» и «Понимание, как эта цель была достигнута?»
Проверка кода базируется на двух слонах - «Обеспечение цели поставленной задачи» и «Понимание, как эта цель была достигнута?»

Очевидно, что самым главным является соответствие кода цели поставленной задачи. Если код никак не обеспечивает результат, то и смысла его проверять совершенно отсутствует.

Экспресс-тестирование является необходимым условием перед началом инспекции, которое упорно продолжают игнорировать. Да и ещё под предлогом того, что ревью кода существует не для поиска дефектов, а для чистого и красивого кода. Те, кто так позволяет себе говорить, забывают, что ревью направленно на самое раннее обнаружение проблем, и чем раньше они будут выявлены, тем дешевле и быстрее обойдётся их решение.

Замечательно, если код будет подкреплён автотестами, прогоняющие заранее подготовленные приёмочные сценарии. Тогда экспресс-тестирование займёт совсем немного времени.

Убедившись, что написанный код обеспечивает достижение цели задачи, становится важным понять, а как эта цель достигается. Из кода должно быть чётко понятно, как реализован алгоритм или решена поставленная задача. Здесь многое зависит от мастерства самого программиста — его способности дробить код на структурные части, отделяя главное от второстепенного, давать им говорящие имена . Чем больше понятен код, тем меньше вероятность наличия в нём скрытых ошибок и тем легче его будет сопровождать в будущем.

Всё остальное является вторичным и может в автоматическом режиме проверяться с использованием линтеров и статических анализаторов (например, SonarQube).