Не люблю ревьюить чужой код
От: Философ Ад http://vk.com/id10256428
Дата: 29.05.23 10:48
Оценка: +1
Во-первых, мне тяжело что-либо ревьюить код, если я не вник в суть задачи. Я при ревью спотыкаюсь об вопросы типа, решает ли код подставленную задачу и решает ли он её полностью. Т.е. мне прежде чем ревьюить нужно сначала прочитать задачу, её предысторию (связанные обсуждения) и только потом я могу приступать к коду. Для меня это настоящая работа.

Во-вторых, я спотыкаюсь о то, что я раньше аппрувил задачи с косяками. Такой опыт заставляет немного нервничать, когда курсор зависает над кнопкой Approve.

Как у вас с этим дело обстоит?
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Не люблю ревьюить чужой код
От: Osaka  
Дата: 29.05.23 10:53
Оценка: -2
Ф>Во-вторых, я спотыкаюсь о то, что я раньше аппрувил задачи с косяками. Такой опыт заставляет немного нервничать, когда курсор зависает над кнопкой Approve.
Ф>Как у вас с этим дело обстоит?
Ревьюайеризм не предполагает ответственности ревьюайериста за то как работает чужой код. Просто накапливается статистика, кто часто ошибается, и кого потом обделить на делёжке добычи по любому другому поводу.
Re[2]: Не люблю ревьюить чужой код
От: Философ Ад http://vk.com/id10256428
Дата: 29.05.23 10:58
Оценка:
Здравствуйте, Osaka, Вы писали:

O>Ревьюайеризм не предполагает ответственности ревьюайериста...


Можно не читать — просто жмякать Approve?
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Не люблю ревьюить чужой код
От: fmiracle  
Дата: 29.05.23 11:04
Оценка: 5 (1) +3
Здравствуйте, Философ, Вы писали:

Ф>Для меня это настоящая работа.


Так это и есть часть настоящей работы.

Ф>Во-вторых, я спотыкаюсь о то, что я раньше аппрувил задачи с косяками.


Это неприятно, но бывает. С другой стороны без ревью косяков бы меньше не стало. А есть опыт, когда на ревью удавалось находить и исправлять проблемы и это радует.

Ф>Как у вас с этим дело обстоит?


Ну да, это серьезная работа. Чем-то она легче чем самому писать, так как тут все написано, надо только прочитать и обдумать. Но чем-то сложнее, т.к. надо достаточно быстро осмыслить и проверить что другой делал куда дольше.

Работа просто другая, но тоже работе и тоже нужная — это возможность убрать баг, и не разбираться с ним потом в спешке готовя фикс.
Re[3]: Не люблю ревьюить чужой код
От: Osaka  
Дата: 29.05.23 11:05
Оценка:
O>>Ревьюайеризм не предполагает ответственности ревьюайериста...
Ф>Можно не читать — просто жмякать Approve?
Либо делаешь бесплатно эту дополнительную работу непонятной стоимости (непонятно сколько туда надо внимания вложить чтобы не пропустить неизвестные проблемы — значит для работодателя есть вероятность, что работник вложит по собственной инициативе/из страха гораздо больше, чем если с ним явно договариваться), либо жмёшь Approve на свой постепенный переход в статус неполноправного и отчуждённого от карьеры.
Отредактировано 29.05.2023 11:17 Osaka . Предыдущая версия .
Re: Не люблю ревьюить чужой код
От: RushDevion Россия  
Дата: 29.05.23 11:31
Оценка:
Ф>Как у вас с этим дело обстоит?

Так в чем все-таки проблема, не хочешь ревьюить в принципе или не хочешь тратить на это непрогнозируемое количество времени?
Если первое — становись менеджером, будешь делегировать ревью другим.
Если второе — трекай в задаче время, потраченное на ревью. И установи какой-то лимит, который допустимо потратить на ревью одной задачи. Не уложился — ну что ж, чем смог — помог.
Re: Не люблю ревьюить чужой код
От: Tourist Россия  
Дата: 29.05.23 12:26
Оценка: 5 (1)
Здравствуйте, Философ, Вы писали:

Ф>Как у вас с этим дело обстоит?


В нашей комманде, любой знает, что если ты делаешь какой то адское изменение, которая затрагивает кучу кода, логика не тривиальная. То уже на начальном этапе разработке, думает парарельно кто это, и как будет ревьюить. Ну, соответственно время ревьювера также дополнительно оценивается и включается в планирование, чтобы его загруженность дала ему возможность это все адекватно отревьюить.

Если кто то под конец спринта, придет с каким то адским ревью, который нужно дня два потратить. То будут конечно разборки, почему заранее не предупредил, почему так сложно. А дальше вопрос приоритетов, кого то срывать с его задач, если эта фича важнее. Или фича ждет пока кто то освободиться.

Отдельно всегда на ревью, лично я смотрю можно ли все это было сделать проще.
Re: Не люблю ревьюить чужой код
От: gyraboo  
Дата: 29.05.23 12:45
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Во-первых, мне тяжело что-либо ревьюить код, если я не вник в суть задачи. Я при ревью спотыкаюсь об вопросы типа, решает ли код подставленную задачу и решает ли он её полностью.


Потребуй сопроводить код тестами, которые четко описывают все кейсы. Потребуй наличие юзерстори или юзкейса.
Если это багфикс, потребуй описания шагов бага, и также наличия теста на данный сценарий.

Если тесты будут написаны непонятно, потребуй, чтобы их написал понятно и наглядно (например, в теста на rest api наглядность теста повышает замена точечных ассертов на полный json реквеста и респонза).
Re: Не люблю ревьюить чужой код
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.05.23 15:27
Оценка: 4 (2) +3
Здравствуйте, Философ, Вы писали:

Ф>Во-первых, мне тяжело что-либо ревьюить код, если я не вник в суть задачи.


А зачем это нужно? Если сильно хочется вникать да контролировать плотно, то выгоднее идти через парно-программирование.

Если такой роскоши нет, то на ревью можно завести чек-лист, и каждый ревьюер будет идти по нем.
— размер пр. Если слишком много — пусть автор заводит фича бранч, сплитает фичу на промежуточные пр.
— есть ли валидация параметров публичных методов
— есть ли тесты — юниты, функциональные, e2e
— корректна ли документация на методы
— изобретены ли велосипеды
— именование публичных методов
— есть ли обработка ошибок
— корректно ли оформлены конфиги
— есть ли магические константы итд
— мутный код вида "а херлиты в базу лезешь сразу из контролера"
— секурити типа "распаковывать jwt токен без валидации ой-ой-ой" создан тикет №10123

До кучи, правила ревьюеров, запретить всё ниже
— переделай, измени, убери — вместо этого интервьюер сообщает, какая проблема с кодом, если надо, то создаёт тикет. Если же хочется идти по варианту "переделай, измени, убери", то парно-программирование будет лучше.
— это не секюрно. Вместо этого интервьюер сообщает, почему не секюрно, и создает тикет.
— идиотский код. Вместо этого интервьюер задает вопросы, уточняет и тд.
— нет форматирования итд. Для этого есть автоматические тулы

То есть, вместо два-три дня на ревью быстрый проход по чеклисту, на выходе список тикетов. Мелкие и критические тикеты исправляются сразу, остальные уходят в баклог как технические задачи. Дальше ПР мергается в транк.

Идея в том, что бы кодревью прошел быстро, и бранча не тухла неделями. Иначе проблем она создаст гораздо больше. Чем позже мерж, тем больше геморроя при мерже-ребейзе и тем больше скрытых багов
Отредактировано 30.05.2023 8:13 Pauel . Предыдущая версия . Еще …
Отредактировано 29.05.2023 15:29 Pauel . Предыдущая версия .
Re: Не люблю ревьюить чужой код
От: aik Австралия  
Дата: 30.05.23 00:59
Оценка: +1
Здравствуйте, Философ, Вы писали:

Ф>Как у вас с этим дело обстоит?


Аналогично. Но даже низкое качество ревью и просто попытка разобраться помогают автору переделать всё так, чтоб более грамотный (и более занятый) сотрудник потратит меньше своего ценного времени на это и больше времени на твой собственный код. И, глядя на чужие косяки, как бы сам слегка растёшь над собой.
Re: Не люблю ревьюить чужой код
От: sergey2b ЮАР  
Дата: 30.05.23 01:23
Оценка: :))
Здравствуйте, Философ, Вы писали:

Ф>Как у вас с этим дело обстоит?


плохо

мне часто предлагают ревьювить код который реализует бизнес логику или GUI на java
а мой код на Си обрабатывающий видео поток отдают на ревью java программистам
Re: Не люблю ревьюить чужой код
От: peiv Россия  
Дата: 30.05.23 01:41
Оценка: +3
Ф>Во-первых, мне тяжело что-либо ревьюить код, если я не вник в суть задачи. Я при ревью спотыкаюсь об вопросы типа, решает ли код подставленную задачу и решает ли он её полностью. Т.е. мне прежде чем ревьюить нужно сначала прочитать задачу, её предысторию (связанные обсуждения) и только потом я могу приступать к коду. Для меня это настоящая работа.

Ф>Во-вторых, я спотыкаюсь о то, что я раньше аппрувил задачи с косяками. Такой опыт заставляет немного нервничать, когда курсор зависает над кнопкой Approve.


Ф>Как у вас с этим дело обстоит?


Спокойно к этому отношусь.
Надо понимать, что качественное ревью, со вниканием во все детали — это как заново написать этот код. Слишком трудоемко и обычно не требуется. Смотрю обычно явную лажу или какие-то типовые косяки у новичков. Ну что бы что-нибудь не отломали в моём коде. Глубоко не вникаю.
Re[2]: Не люблю ревьюить чужой код
От: CreatorCray  
Дата: 30.05.23 04:04
Оценка: +2 :)
Здравствуйте, sergey2b, Вы писали:

S>мне часто предлагают ревьювить код который реализует бизнес логику или GUI на java

S>а мой код на Си обрабатывающий видео поток отдают на ревью java программистам
Капец какой бардак!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Не люблю ревьюить чужой код
От: sambl74 Россия  
Дата: 30.05.23 04:12
Оценка:
Здравствуйте, Tourist, Вы писали:

T>Если кто то под конец спринта, придет с каким то адским ревью, который нужно дня два потратить. То будут конечно разборки, почему заранее не предупредил, почему так сложно. А дальше вопрос приоритетов, кого то срывать с его задач, если эта фича важнее. Или фича ждет пока кто то освободиться.


Забавно бывает. То на задаче где просто ресурс надо было поправить кто-то докапывается до какой-то мелочи, а потом вливаешь какой-то неслабый кусок функционала — и все такие ну давай мёржить, а потом пусть тестеры баги заводят ну это было в старом проекте, где на платформе Eclipse пилили RCP/RAP приложение. Сейчас на проектах уже обычно не так, а тут в эффектор вливаюсь и чёт пока прям сложненько, больно сильно логика размазана...
Re[3]: Не люблю ревьюить чужой код
От: sambl74 Россия  
Дата: 30.05.23 04:16
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>а мой код на Си обрабатывающий видео поток отдают на ревью java программистам

CC>Капец какой бардак!

ну а если больше нет си-шных программистов, надо же что-то делать

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

всё конечно кончилось просто тем, что тупо час скринкаста записали, в конфлюенс залили и всё
Re[3]: Не люблю ревьюить чужой код
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.05.23 10:18
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>мне часто предлагают ревьювить код который реализует бизнес логику или GUI на java

S>>а мой код на Си обрабатывающий видео поток отдают на ревью java программистам
CC>Капец какой бардак!

Это состояние индустрии такое. Например, в команде джавист, сиплюсник и пейтон. Это препятствие для код ревью, но вовсе не повод отказываться от него.
Re: Не люблю ревьюить чужой код
От: Артём Австралия жж
Дата: 30.05.23 22:39
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Во-первых, мне тяжело что-либо ревьюить код, если я не вник в суть задачи. Я при ревью спотыкаюсь об вопросы типа, решает ли код подставленную задачу и решает ли он её полностью.


Проверка работоспособности изменений на QA. Ревью кода- это незамыленный взгляд со стороны.
Я вот сталкиваюсь, что подчинённые неохотно ревьювят мои PR, а когда задают правильные вопросы- я не всегда переделываю. За что и поплатился недавно регрессией в продакшене.
Re[3]: Не люблю ревьюить чужой код
От: Артём Австралия жж
Дата: 30.05.23 22:40
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>а мой код на Си обрабатывающий видео поток отдают на ревью java программистам

CC>Капец какой бардак!

Да как они смеют!
Re: Не люблю ревьюить чужой код
От: vsb Казахстан  
Дата: 30.05.23 22:51
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Как у вас с этим дело обстоит?


Я считаю, что вопросы о "решает и решает ли полностью" это зона ответственности тестировщиков, а не ревьюеров. Ревью это проверка соответствия формальным параметрам, которые не удалось автоматизировать. Ну и шанс найти баги, которые можно увидеть "свежим глазом". Если я буду в каждую задачу погружаться, по которой делаю ревью, то я больше ничем заниматься не буду.

По идее погружение это про парное программирование больше.

Хотя, конечно, тут вопрос больше к менеджерам. Если на ревью выделяется достаточно времени (процентов 20-50 от времени выполнения задачи) — ну классно.
Отредактировано 30.05.2023 22:54 vsb . Предыдущая версия .
Re[4]: Не люблю ревьюить чужой код
От: CreatorCray  
Дата: 31.05.23 02:30
Оценка:
Здравствуйте, sambl74, Вы писали:

S>ну а если больше нет си-шных программистов, надо же что-то делать

Нанимать
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.