Найти в Дзене

РБПО-050. Процесс 9 — Экспертиза исходного кода (часть 2/3)

Продолжим читать девятый раздел ГОСТ Р 56939-2024. Требования к реализации:

5.9.2.1 Разработать регламент проведения экспертизы исходного кода ПО.

На языке программистов: разработать порядок и чек-листы проведения обзоров кода (code review). Скорее всего, практика обзоров кода так или иначе уже существует в вашей компании, а с внедрением РБПО просто пришло время её формализовать, сделать более чёткой/строгой и обязательной.

5.9.2.2 Проводить экспертизу определенных областей кода ПО (в первую очередь для модулей (компонентов) ПО, составляющих поверхность атаки) в соответствии с регламентом проведения экспертизы исходного кода ПО.

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

Неформальные процедуры обзоров передавались от человека человеку в общей культуре программирования задолго до того, как информация об этом стала появляться в печатных материалах. Необходимость обзоров была настолько очевидна лучшим программистам, что они редко упоминали об этом в статьях и книгах, тогда как худшие программисты считали, что они настолько хороши, что их работа не нуждается в обзорах.

Дениел Фридмен и Джеральд Вайнеберг (Daniel Freedman and Gerald Weinberg)

5.9.2.3 Проводить экспертизу кода рекомендуется с использованием программных средств, автоматизирующих проведение экспертизы и интегрированных с системой контроля версий разрабатываемого ПО.

Речь про системы автоматизирования обзоров кода (здесь не путать со статическим анализом), в том числе позволяющие делать это удалённо.

Примером такой системы является RBCommons. Мы пробовали её в далёком 2016 году, но она не прижилась. Сейчас единого подхода нет, действуем из соображений удобства. Кто-то собирается просто в офисе возле компьютера. Кто-то созванивается в Zoom с демонстрацией экрана. Кто-то в GitHub смотрит PR коллег. В общем, мы ценим процесс обзор кода, но пока не чувствуем потребности в жёсткой автоматизации. Возможно, коллектив ещё небольшой, квалифицированный, и у нас просто нет проблемы, что кто-то игнорирует процессы обзора кода.