170 похожих чатов

Давайте представим гипотетическую ситуацию, вас в команде 2-3 сеньора +

тимлид
можно ли в такой команде отказаться от код ревью?
если да, то какие условия должны быть реализованы, чтобы можно было отказаться (ну аля четкий беклог и декомпозированные юзерстори, etc)

41 ответов

34 просмотра
Alex- Автор вопроса

есть много инструментов, которые автоматизируют эту оценку и ищут баги

Alex
есть много инструментов, которые автоматизируют эт...

ни один статический анализатор не заменит человеческого мозга)

запишитесь на мой курс, я расскажу про баланс между кодом и бизнесом

Alex- Автор вопроса
Artur Karapetov
ни один статический анализатор не заменит человече...

человеческий мозг тоже довольно часто дает промахи, иначе бы не было ни этих инструментов, ни QA как пласта 😁

Alex
есть много инструментов, которые автоматизируют эт...

самая главная метрика - читабельность эту проверку не заменишь ничем

Artur Karapetov
запишитесь на мой курс, я расскажу про баланс межд...

Та ты уже всё раньше рассказал, я себе цитаты главные сохранил.

Alex- Автор вопроса
Daniel Podolsky
самая главная метрика - читабельность эту проверк...

а если сложившаяся команда из сеньоров только, все уже знают, как пишут

Alex- Автор вопроса
Artur Karapetov
в таких случаях делают дабл-ревью

а потом трипл? :) время поставки фичи затягивается

Alex
а если сложившаяся команда из сеньоров только, все...

знают, что точно коллега ничего не забудет ? ванги в деле

Alex- Автор вопроса
Максим Федоров
знают, что точно коллега ничего не забудет ? ванги...

где гарантия, что ревьювер тоже ничего не забудет? да и второй ревьювер тоже? у всех свои задачи нарезаны, и ревьюверы не всегда будут погружаться в твою

Alex
где гарантия, что ревьювер тоже ничего не забудет?...

нет гарантий, но на опыте, частенько кто-то подсвечивает моменты сторонний взгляд

Alex- Автор вопроса
Максим Федоров
нет гарантий, но на опыте, частенько кто-то подсве...

может быть тогда позитивные сценарии, которые описаны в фиче, просто покрывать тестами, и тогда будет гарантия, что ничего не забудется?

Alex
а если сложившаяся команда из сеньоров только, все...

ревью помогает: 1) отследить какие-то моменты, которые могли быть упущены, какие-то незаметные баги и тд 2) всем участникам команды быть в контесте сделанного 3) возможность отслеживать взаимодействие между разными тасками ( условно говоря, можно на ревью попросить не мержить таску, пока не замержена другая, чтобы конфликтов меньше было) 4) отследить кодстайл и тд

Alex
может быть тогда позитивные сценарии, которые опис...

нет, покрыл ситуации: А, А1 и А2, Б1 и Б2 приходит коллега и говорит, слушай, а мы же тогда обсудили закроиться под АБ, а тут у тебя все на А или Б завязано и я уже под эту догвооренность кода понаписал

Alex- Автор вопроса
Roman 🎄
ревью помогает: 1) отследить какие-то моменты, кот...

2, 3, 4 - всё это уже давным давно автоматизировано

Может ещё и от qa отказаться? И от тестов? )))

Alex
2, 3, 4 - всё это уже давным давно автоматизирован...

как автоматизировать то, чтобы коллеги были в контексте сделанного?

Alex- Автор вопроса
Максим Федоров
нет, покрыл ситуации: А, А1 и А2, Б1 и Б2 приходит...

когда коллега вспомнит такое, то он придет и так, без код ревью

Alex- Автор вопроса
Roman 🎄
как автоматизировать то, чтобы коллеги были в конт...

это достигается скрамом и прочими методологиями мы же все по скраму работаем 😁

Alex
это достигается скрамом и прочими методологиями мы...

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

В одной из компаний, куда я собесился, мне сказали, что у них нет qa, а код тестируется разработчиками с помощью тестов.

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

Roman 🎄
В одной из компаний, куда я собесился, мне сказали...

Мнэ... И разрабов еще, небось, штрафовали за баги в проде? ))

Alex- Автор вопроса
Айван
"в контексте сделанного" это не только закрытые та...

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

Сеньоры если что тоже люди, а не идеальные боги, которые никогда не ошибаются.

Alex- Автор вопроса
Алексей
Сеньоры если что тоже люди, а не идеальные боги, к...

никто с этим не спорит, тут скорее вопрос, что важнее, поставлять фичи на прод, или тратить высокооплачиваемое время на это?

Alex
никто с этим не спорит, тут скорее вопрос, что важ...

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

Alex
никто с этим не спорит, тут скорее вопрос, что важ...

а как одно противоречит другому? Важно поставлять хорошо проверенные и отревьюеренные фичи на прод И иногда лучше немного фичу задержать и проверить, чем выпускать пораньше

Alex- Автор вопроса

мы сейчас всё свели к микросервисам (только ситхи всё возводят в абсолют 😁), и, как правило, микросервис - это не долго поддерживаемый продукт "идеальный микросервис пишется одним человеком за 2 недели" (c) нужен ли тут код ревью?

Alex
мы сейчас всё свели к микросервисам (только ситхи ...

А то есть вы каждый раз по две недели микросервисы переписываете когда нужно новую фичу вводить?

Alex
мы сейчас всё свели к микросервисам (только ситхи ...

А как ты для себя даёшь определение микросервисам ?(Просто офтоп интересный)

Alex- Автор вопроса
Алексей
А то есть вы каждый раз по две недели микросервисы...

новая фича - это новый микросервис, по заветам, так сказать @MikhailGulkin это и на твой вопрос ответ но это в идеале конечно, в реальности всё сугубу индивидуально

Alex
мы сейчас всё свели к микросервисам (только ситхи ...

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

Alex
новая фича - это новый микросервис, по заветам, та...

А старые фичи не меняются никогда, да?

Alex- Автор вопроса
Алексей
Микросервисы - это тоже код, который тоже нужно по...

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

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта