Ответ
На прошлой работе Code Review проводился через GitHub Pull Requests. Разработчик создавал PR, назначал ревьюверов из команды.
Процесс:
- Автоматические проверки: запускались CI/CD (линтеры, тесты, сборка).
- Ревью: коллеги проверяли код на:
- Соответствие гайдлайнам (Kotlin/Java, архитектура).
- Оптимальность (перфоманс, память).
- Читаемость (названия, комментарии).
- Обсуждение: комментарии в PR, правки через коммиты.
- Мердж: после апрува 2+ разработчиков.
Пример:
// Было (плохо)
fun getUser(id: Int) = repo.getUser(id)
// Стало (лучше)
suspend fun getUserById(id: Int): User? =
withContext(Dispatchers.IO) { repo.getUser(id) }
Фиксили: отсутствие suspend, блокировка UI, nullable-возврат.
Нюансы:
- Мелкие PR (<300 строк) — быстрее ревью.
- Конструктивная критика, без личных оценок.
- Обязательные тесты для новой логики.