Проводят ли в вашей команде код ревью

Ответ

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

Правила:

  • Проверяем не только функционал, но и архитектуру, читаемость, соблюдение гайдлайнов
  • Комментарии должны быть конструктивными с предложениями по улучшению
  • Используем GitHub/GitLab ревью-инструменты

Пример:

// До ревью
fun calculate(items: List<Item>): Int = items.sumBy { it.price }

// После ревью (учтены edge cases)
fun calculateTotalPrice(items: List<Item>?): Int {
    return items?.sumOf { it.price } ?: 0
}

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

Ответ 18+ 🔞

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

Правила, которые мы тут, блядь, свято блюдём:

  • Смотрим не только, работает ли функция, а вообще на всё. Архитектура, читаемость кода, соблюдение наших гайдлайнов — ёпта, это святое. А то напишут какую-нибудь пиздопроебибну, которую через месяц сам чёрт не разберёт.
  • Комментарии оставляем конструктивные, с предложениями, как сделать лучше. Не просто «фигня», а «чувак, тут можно вот так, будет надёжнее». Иначе какой смысл, блядь?
  • Инструменты GitHub или GitLab используем по полной. Там и треды, и апрувы, и всё как у людей. Не в телеге же это обсуждать, ёб твою мать.

Вот тебе живой пример, чтобы понятно было:

Раньше могло быть вот такое, понимаешь, гениальное в своей простоте:

// До ревью (написано на коленке в пять утра)
fun calculate(items: List<Item>): Int = items.sumBy { it.price }

А после того, как коллега посмотрел и сказал «ты веришь, чувак, что будет, если items придёт null?», код превращается во что-то вменяемое:

// После ревью (учтены edge cases, можно спать спокойно)
fun calculateTotalPrice(items: List<Item>?): Int {
    return items?.sumOf { it.price } ?: 0
}

Вот для этого всё и затевается. Ревью — это не придирки, блядь. Это чтобы баги на берегу ловить, пока они не уплыли в продакшн, и чтобы знания по команде раскидывать. А то один знает про безопасные вызовы, а другой — нихуя. Так все и учатся. Иначе потом сам от себя охуеешь, когда через полгода свой же код читать будешь.