Size: a a a

Боль Тимлида

2021 May 08

СА

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

VF

Victor Fabrichenko in Боль Тимлида
Господа просто не понимают базовых принципов, поэтому у них и каша в голове
источник

СА

Сергей Аксёнов... in Боль Тимлида
Так код ревью и служит для распространения культуры. Как я дам обратную связь человеку, написавшему хрень полгода назад?
источник

AK

Anton Kucherov in Боль Тимлида
Вот именно, именно поэтому ревью стоит отдать машинам.
источник

AK

Anton Kucherov in Боль Тимлида
В чате, на митинге, просто в неформальной беседе. Подходишь и говоришь: Слушай Вася, я тут фигню нашел у тебя в старом коде. Давай разберем?
источник

VF

Victor Fabrichenko in Боль Тимлида
У вас система не предвосхищает ошибки, а срабатывает на факт ошибки. И код ревью только способствует такому положению дел
источник

AD

Alexey Didukh in Боль Тимлида
А если новичок не знает как работает , ну не знаю, паттерн какой-нибудь, пусть будет фабрика. Получается нужно писать код без этих механизмов/практик?
источник

VF

Victor Fabrichenko in Боль Тимлида
Ошибки будут всегда и надо сделать так, чтобы ошибка в проде не стоила вам сколь либо значительных денег. И тут дело не в коде, а в архитекруте и эксплуатации
источник

VF

Victor Fabrichenko in Боль Тимлида
Куски мяса проверяющие систему на ошибки это же антипаттерн. Просто потому что люди созданы для генерации ошибок
источник

VF

Victor Fabrichenko in Боль Тимлида
Но мы плавно перешли от читаемости к ошибкам
источник

C

Ctor in Боль Тимлида
Ревью и есть помощь. Работает как "все люди, все ошибаются, постараемся помочь автору (и вообще всем) до того, как  грохнется прод". Если кем-то воспринимается по-другому, то надо менять отношение, само ревью тут непричем
источник

VF

Victor Fabrichenko in Боль Тимлида
Почему нельзя сначала подумать, а потом сделать?
источник

AK

Anton Kucherov in Боль Тимлида
Сколько на ваш взгляд "LGTM" с последующими фейлами должно случится чтобы задуматься о том что код-ревью плохо работает и нужно что-то менять?
Мне вот хватило раза 3 таких конкретных, когда систему восстанавливали в течении нескольких часов, хотя до этого 3 независимых ревьювера сперва делали замечания а потом все сказали LGTM.
источник

VF

Victor Fabrichenko in Боль Тимлида
Почему надо ждать, чтобы автор чёт там напрограммировал, а только потом мы будем проверять его работу?
источник

C

Ctor in Боль Тимлида
Нужно и думать хорошо, и делать верно
источник

VF

Victor Fabrichenko in Боль Тимлида
Есть дизайн, есть тесты, тесты проходят, на кой ляд ещё его код смотреть?
источник

VF

Victor Fabrichenko in Боль Тимлида
Вон ссылка выше, там написано, дизайн системы на кодревью не обсуждать
источник

VF

Victor Fabrichenko in Боль Тимлида
Чего ещё обсуждать на кодревью?
источник

VF

Victor Fabrichenko in Боль Тимлида
Есть дизайн, есть тесты, чего ещё надо?
источник

СА

Сергей Аксёнов... in Боль Тимлида
Для начала не без моего, а без контроля со стороны произвольного члена команды. Я считаю, что код ревью должно быть перекрестным, а не "от младших к старшим". Даже наоборот: ревью "от старших к младшим" очень помогает старшим не витать в облаках абстракций и избегать оверинжиниринга.

Почему нельзя: потому что любая кодбаза и любая команда достаточно долго над кодбазой работающая обрастают локальными правилами, договорённостями и условностями (давайте использовать иммутабельные дата-классы для доступа к данным). Даже если их фиксировать письменно - их нельзя выучить и запомнить с одного прочтения. Кроме того, кодбаза и команда со временем совершенствуются, что приводит к новым идеям, их реализации и закреплению в виде практик и договорённостей (давайте использовать @JvmRecord в дата-классах).

Какого рода лично я ошибки нахожу: 1) оверинжиниринг 2) недостаточное покрытие тестами 3) нарушение принципов SOLID 4) нарушение границ контекстов 5) неграмотный английский язык, это вот что в голову пришло за минуту.
источник