Как код-ревью улучшает командную работу
Что проверяют
Видите ли вы в ревью инструмент команды, а не экзамен для автора. Интервьюеру важно понять, как вы ведёте себя с обеих сторон: как пишете замечания и как принимаете чужие. Следом часто спрашивают про конфликт на ревью или про то, сколько может висеть пул-реквест.
Как отвечать
Опирайтесь на свой опыт и называйте конкретику из iOS-проекта, общие слова про «обмен знаниями» здесь не засчитываются. Каркас:
- распространение знаний: после ревью модуль знает не один человек. Автор экрана оплаты ушёл в отпуск, а второй разработчик уже читал этот код и может его править;
- договорённости в инструментах: стиль и простые правила проверяют
SwiftLintиSwiftFormatв CI, а людям остаются архитектура, именование, границы модулей; - что ловит человек, а не линтер: захват
selfв замыкании без[weak self]и цикл удержания, обновление UI не на главном потоке, забытая локализация и доступность, конфликт вproject.pbxproj; - размер изменений: пул-реквест в пределах нескольких сотен строк читают внимательно, а на полторы тысячи строк ревьюер ставит одобрение, не вникая;
- тон: разделять блокирующие замечания и необязательные (
nit:), предлагать вариант, а не только «переделай».
Дальше нужен ваш пример: что поймали на ревью, какие договорённости появились после него, как изменилось время жизни пул-реквестов. Цифры приводите свои, придуманные проценты на собеседовании легко разваливаются от одного уточнения. Если ревью в прошлой команде не было или вы работали один, так и скажите и расскажите, как проверяли код сами: перечитывали дифф перед мержем, гоняли линтер, отдавали сложные места на просмотр знакомым разработчикам.
Где спотыкаются
Сводят ревью к поиску багов. Основную часть багов ловят тесты, а ревью прежде всего про понятность кода и общее знание о системе.
Рассказывают, как строго правили чужой код, и ни слова о том, как сами принимали замечания. Интервьюер слышит в этом будущий конфликт.
Спорят в комментариях про отступы и порядок импортов. Всё, что можно автоматизировать, должен проверять инструмент, иначе ревью превращается в войну вкусов.