Пирамида код-ревью
Viktor Grushevskii, https://t.me/iOS_CareerПирамида код-ревью

Обратил внимание на интересный подход к проверке и своего, и чужого кода (чуть более кратко можно прочесть здесь).
Наибольшее внимание стоит уделить нижним уровням. Оба верхних стоит автоматизировать (и практически не тратить на это время). На каждом из уровней стоит пройтись по некоторым пунктам.
Семантика API
- API достаточно компактно, достаточно для покрытия задач?
- Есть ли только один способ сделать?
- Является ли он последовательным?
- Чистое разделение API/внутренних компонентов?
- Нет ли ломающих изменений в частях, что-то может затронуть пользователей?
- Является ли новый API в целом полезным?
Семантика реализации
- Удовлетворяет ли первоначальным требованиям?
- Является ли логически правильным?
- Нет ли излишней сложности?
- Надежно ли (нет ли проблем с параллелизмом, правильная обработка ошибок и т.д.)?
- Является ли он производительным?
- Безопасна ли она (например, нет ли SQL-инъекций и т.д.)?
- Наблюдаема ли она (например, метрики, логирование, трассировка и т.д.)?
- Нужны ли новые зависимости, не излишни ле они утяжелят проект? Является ли приемлема ли их лицензия?
Документация
- Достаточно ли документированы новые возможности?
- Охвачены ли соответствующие типы документации: README, API-документы, руководства пользователя, справочные документы и т.д.?
- Понятны ли документы, нет ли в них существенных опечаток и грамматических ошибок?
Тесты
- Проходят ли все тесты?
- Проверяются ли новые функции в разумных пределах?
- Проверяются ли крайние случаи?
- Используются ли модульные тесты, где это возможно и интеграционные тесты, где это необходимо?
- Есть ли тесты для нефункциональных требований, например, производительности?
Оформление кода
- Применяется ли стиль форматирования проекта?
- Придерживается ли используемые в проекте принципы для наименований.
- Удовлетворяет ли он принципу DRY?
- Достаточно ли "читабелен" код (длина методов и т.д.)
Полная картинка (на английском языке) в формате .SVG доступна здесь.
Подписаться на канал со статьями можно тут: https://t.me/iOS_Career
#iOSDev #iOS #codereview