Как делать code review (часть 2)

  Рет қаралды 11,634

S0ER

S0ER

4 жыл бұрын

#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
Спонсорство - donate.s0er.ru
Сайт платным контентом - soer.pro
Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
GitHub - github.com/soerdev
Чат для программистов - / discord
Группа ВК - codeartblog

Пікірлер: 48
@neshkeev
@neshkeev 4 жыл бұрын
Спасибо за то, что Вы отметили, что можно посылать ревьюера, если его замечания являются вкусовщиной. Например, замечание "переименуй прокси в адаптер" и то и другое суть одно, но на этой почве возникают конфликты. Часто такие замечания можно получить от неопытных коллег, сам был таким, сейчас понимаю на сколько глупы такие замечания. Недавно открыл для себя замечательный инструмент под названием SonarQube, при правильной настройке все замечания автоматически репортятся прямо в пулл-реквесты. Время ревью у нас снизилось в десятки раз при этом возрасло качество.
@itcloudguy
@itcloudguy 3 жыл бұрын
Я конспектирую слово в слово Ваше изложение для дальнейшего использования в нашем ентерпрайз проекте. У меня сейчас такой таск - сделать исследование как следует проводить Code Review. Ваше видео покроет польшую часть "не технической" части этого исследования. Спасибо вам большое.
@bbz9002
@bbz9002 4 жыл бұрын
Подытожим… Организация работы: 1. Выделенное время у оцениваемых и оценщиков. 2. Правила по которым оценивается код: логика, производительность, стиль, “дальновидность”. (хорошо бы собрать примеры) 3. Правила по которым принимается решения по спорному моменту. 4. Собирания типичных ошибок и способы их решения. Инфраструктура должна отвечать требованиям: 1. Автоматическая сборка. 2. Прогон юнит тестов до оценки. 3. Прогон интеграционных тестов после сборки (при необходимости). Практики: 1. Отправка на оценку только при “happy path”. Исключения должны быть объяснены. 2. Критикуешь. Предлагай. Пример лучшей реализации со стороны оценщика. 3. Открытие нового задания на какое-то более масштабные изменения (при необходимости).
@yunusgaziev3514
@yunusgaziev3514 4 жыл бұрын
Делаем ревью вдвоём, тот кто писал и наблюдающий, т.е. тот кто писал как бы презентует свой код и объясняет что и зачем. Очень часто случается что выпиливается лишний код, т.к. в процессе ревью выясняется что он избыточен. Хорошая практика.
@mmospanenko
@mmospanenko 4 жыл бұрын
Где первая часть? Ходить по коментам вдруг кто-то уже спрашивал и ответили? Фейл.
@stranger271271
@stranger271271 2 жыл бұрын
Сломано!
@user-fq8rb9ht5l
@user-fq8rb9ht5l 4 жыл бұрын
Спасибо, интересно и полезно
@archangel2560
@archangel2560 4 жыл бұрын
Нужно больше годного контента!
@fpv_am
@fpv_am 4 жыл бұрын
Дедушка вернууулся!
@ievgenk.8991
@ievgenk.8991 4 жыл бұрын
Оч крутое видео, крутые мысли, спасибо за то что поделился. Не думал выпустить это в тектовом формате где то на medium и хабре?
@dima4096x
@dima4096x 4 жыл бұрын
thanks a lot, sir
@user-xj2xs3mz9v
@user-xj2xs3mz9v 4 жыл бұрын
спасибо!
@MaximDementiev
@MaximDementiev 4 жыл бұрын
Я считаю важным упоминание (как в первой, так и во второй части) об использовании статических анализаторов кода. Иногда ограничиваются только чем-то типа CppCheck, но на самом деле надо идти дальше, если большой проект, и анализировать на предмет дублирования кода. А уж потом, да, без траты времени на вкусовщиину (которая должна быть более-менее описана в code guidelines), переходить к существенным моментам, их нельзя формализовать, иначе бы это можно было отдать тому же статическому анализатору.
@simplemovies4126
@simplemovies4126 4 жыл бұрын
ревью очень полезная вещь, CI может и пропусить проблемные места, а знающий человек поймет и откоментит.
@Elektrolaborant
@Elektrolaborant 4 жыл бұрын
Вроде вчера подписался, а уже полгода прошло
@rplatonovs
@rplatonovs 4 жыл бұрын
Все очень по делу. Едиственное не сказал бы что ревью безсмысленны без рефакторинга. Чаще всего вполне достаточно и оптимально ограничиться оценкой непосредстевнных изменений в мердж риквесте. Очень часто при расширении функционала появляется желание что-то зарефачить, но это не всегда оправдано, в первую очередь с точки зрения времени. Из моей личной практики могу сказать что лучше рефакторинг (если он реально имеет смысл) выносить в отдельные такски которые так же отдельно будут ревьюиться. Их же можно и более гибко приоритизировать когда они сами по себе. Иначне работа над тасками, а именно peer review пинг-понг, может сильно затянуться.
@alexdolgov4855
@alexdolgov4855 4 жыл бұрын
Когда мы в компании столкнулись с проблемами при проведении code review (долго, споры), просто собрались всем направлением и составили регламент где четко описаны требования к проведению ревью. Есть четкий регламент - нет проблем.
@kalilinux2893
@kalilinux2893 4 жыл бұрын
*Хороший канал,с меня подписка + лайк. Автор молодец,хороший контент делает,а главное качественный,сегодня редко можно найти толкового человека с подобным контентом. Вот пришлось продать свой канал,и новый создавать развивать по новой. Ладно,успеха автору канала*
@kinderhero8897
@kinderhero8897 4 жыл бұрын
добро
@fpv_am
@fpv_am 4 жыл бұрын
ляя как же хочу чтоб весь мой код заревьюил топовый прогер, работаю один над проектом
@QwertyQwerty-jv8cu
@QwertyQwerty-jv8cu 4 жыл бұрын
AntiBlog эх жиза...
@bo_ver4628
@bo_ver4628 4 жыл бұрын
Тоже один работаю над проектом. Тоже хочу ревью, но мне одновременно любопытно и стыдно заранее)
@user-du1cj7zl4w
@user-du1cj7zl4w 4 жыл бұрын
@@bo_ver4628 Хорошо, что стыдно) значит понимаешь, что есть куда расти. Мне же в свою очередь досталось легаси говно, которое писалось пять лет и чувак вообще не парился по этому поводу... архитектуры ? паттерны ? да нах, это все для лохов!
@itcloudguy
@itcloudguy 4 жыл бұрын
Я думаю, что код нужно изначально так писать, как будто скоро будет код ревью (если конечно самому знать все правила чистого кода, что в идеале и должно быть). Тогда и ревьюверу не много работы останется. Я вот, например, пишу проект в одиночку. Вот и приходится очень часто проводить рефакторинг. Чуть ли не каждый день. Самому ведь придётся в этом "бардаке" разбираться.
@user-qk6uw7ix5u
@user-qk6uw7ix5u 4 жыл бұрын
Объясните пожалуйста про негерметичные абстракции и про архитектуру ПО в целом
@user-vz5yr3dm7d
@user-vz5yr3dm7d 3 жыл бұрын
Соер подскажи, что лучше использовать в Java if-else или switch?
@andreysotnikoff5642
@andreysotnikoff5642 4 жыл бұрын
я на работе такое не применял... я купил перепрофилирующий курс, и там, собсно в домашних заданиях, есть "кодеревью", ну это круто! то что я делал всегда, можно делать по другому- и об этом мне говорит мой ревьювер... но как это реальны условиях, и отдельнй вопрос, "зачем"...хз
@dsalodki
@dsalodki 4 жыл бұрын
а как найти первую часть? конечно ревью кода имеет смысл. с одной стороны пишешь и решаешь задачу, с другой не всё можешь уследить и получаешь опыт.
@Cleannetcode
@Cleannetcode 4 жыл бұрын
kzfaq.info/get/bejne/pNh-hsaQzp-3mXk.html Вероятно это)
@MaximDementiev
@MaximDementiev 4 жыл бұрын
@@Cleannetcode Да, я для этого зашёл во все видео канала, пролистал до конца, потом поиск по странице... Но вообще, согласен, надо было добавить в описании (или в ссылках по ходу видео) на предыдущее.
@user-td6vu1hh3y
@user-td6vu1hh3y 4 жыл бұрын
Боже, как же Soer крут
@user-dx9tp2ey8f
@user-dx9tp2ey8f 4 жыл бұрын
Привет. Скажи пожалуйста, почему приглашение в дискорд недействительно?
@light3484
@light3484 4 жыл бұрын
Согласен, что код ревью надо, но я не встречал пока, чтобы все описанные пункты выполнялись, особенно про вкусовщину. Как на практике обойти нашу обезьянью природу, я не знаю. Особенно когда был младшим сотрудником часто сталкивался с тем, что ведущего разраба хлебом не корми, но дай покритиковать, а когда спрашиваешь: какие у тебя аргументы в пользу твоего решения, начинается - ну вот с высоты своего опыта... хотя дельных советов было 50 на 50.
@otfly
@otfly 4 жыл бұрын
А мой последний ревью, закончился переходом с нативного яаваскрит на вью 🤔
@undefined310
@undefined310 4 жыл бұрын
расскажи про rest и solid
@glebbondarenko67
@glebbondarenko67 4 жыл бұрын
Что-то я за свой небольшой 6 летний опыт коммерческой разработки и прохождение под полсотни интервью ни разу не слышал, что code review - это плохая практика. Скорее наоборот И я сам считаю это важной частью работы 1. человек сам учится у других когда ревьит чужой код; 2. разработчик всегда вкурсе куда движется какая-то часть проекта, особенно когда он сосредоточен на другой. Иногда это позволяет предотвратить ошибки, недопонимания или дублирования работы; 3. код новичка в команде обязан быть проревьен, т.к. он не знает какие вообще классы и подходы существуют на данном проекте; 4. в процессе ревью происходит коммуникация членов команды, соответственно их притирка, которая в будущем может помочь как команде так и проекту в целом. я бы выделил следующие моменты: 1. стараться делать пулл реквесты как можно меньше (с учетом разумности, конечно); 2. в команде/руководстве должно быть понимание, что ревью - это не чайку попить между тасками, а полноценная работа.
@anzarsh
@anzarsh 4 жыл бұрын
Это на самом деле очень тонкий момент на сколько грубоко погружаться в код... как нащупать эту грань? Иногда чтоб понять логику и оценить ее правильность приходится потратить достаточно много времени, нужно ли это делать вообще или оставить тестировщикам?
@itcloudguy
@itcloudguy 4 жыл бұрын
А разве тестировщики этим занимаются? У них что, своей работы мало?
@anzarsh
@anzarsh 4 жыл бұрын
@@itcloudguy оценивая правильность логики программисту иногда легче увидеть потенциальные ошибки нежели тестировщику, когда эти ошибки могут проявляться редко, часто это относится к асинхронному коду
@pavlomiklashevych1758
@pavlomiklashevych1758 4 жыл бұрын
Если логику сложно понять на этапе ревью, то будет так же сложно и поддерживать код в будущем. Это первый признак того, что есть просчет в проектировании. Нужно посоветовать в контексте ревью упростить какую-то часть, разбить на более мелкие и понятные куски, либо в крайнем случае добавить комментарии и описать почему именно так и так здесь происходит. Обычно в процессе написания комментария приходит понимание как упростить код.
@bob-tpaktopuct9729
@bob-tpaktopuct9729 4 жыл бұрын
Нужно кодреью #коронавирус провести
@ilnurryazhapov9377
@ilnurryazhapov9377 4 жыл бұрын
Первую часть не нашел
@artem2657
@artem2657 4 жыл бұрын
Бывают ли у вас такие дни, когда голова например вообще не работает и даже думать о программировании не хочется ? Из за плохого сна возможно, либо просто вот день такой и всё.
@valentinkhomutenko6308
@valentinkhomutenko6308 4 жыл бұрын
Почитай книжки М. Дорофеева (Джедайские техники, Путь джедая) - там как раз про это
@SecretYouTubeAgent
@SecretYouTubeAgent 4 жыл бұрын
Если члены команды несимпатичны друг другу, то код-ревью становится негативным процессом. Т.е. код-ревью, в абсолютном большинстве случаев, негативный процесс.
@daniil4299
@daniil4299 4 жыл бұрын
Код ревью должен делать лид, чтобы джуны и мидлы не засрали проект. Есть практики когда код-ревью делает рэндомный кодер, но это имхо бред.
@Oswee
@Oswee 3 жыл бұрын
Hotelos bi uslishatj pro instrumenti i podhodi dlja odinokih volkov. Nu tjipo... kak samomu svoi kod vremjo za vremenjem peresmotretj. Stoit lji eto voobshe videljatj otdelno pri solo razrabotke.
@devnulldevrandom6284
@devnulldevrandom6284 4 жыл бұрын
Неправильно ты дядя Федор ревью делаешь - надо чужой код засирать, а свои курсы нахваливать. Сакутину привет ;)
ТАМАЕВ vs ВЕНГАЛБИ. Самая Быстрая BMW M5 vs CLS 63
1:15:39
Асхаб Тамаев
Рет қаралды 4,5 МЛН
Stupid Barry Find Mellstroy in Escape From Prison Challenge
00:29
Garri Creative
Рет қаралды 17 МЛН
Про code review
8:32
S0ER
Рет қаралды 7 М.
Код ревью (code review): лучшие практики, как проводить.
8:40
Проектирую архитектуру чата
16:28
Правила хорошего ревью кода / Code review
5:20
Senior Software Vlogger
Рет қаралды 37 М.