Code review (просмотр кода)
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 25.04.19 11:26
Оценка: -9 :))) :))) :)
Уважаемые коллеги, предлагаю вам обсудить такую тему, как code review (просмотр кода).

В чём заключается code review? Есть ли у вас на работе такое и как часто, каким образом оно проводится? Кто проводит у вас code review?
Что бывает в случае плохого результата code review?
Re: Code review (просмотр кода)
От: okman Беларусь  
Дата: 25.04.19 11:58
Оценка: 14 (2) +3
Здравствуйте, RussianFellow, Вы писали:

RF>Уважаемые коллеги, предлагаю вам обсудить такую тему, как code review (просмотр кода).


RF>В чём заключается code review?


Повышение качества кода, недопуск в код откровенно плохих практик и вообще всяких "левых" вещей.
Часто другие находят в коде то, что ты сам считаешь вполне нормальным и пропускаешь мимо.

RF>Есть ли у вас на работе такое и как часто, каким образом оно проводится?


Мы работаем по gitlab: при вливании боковика в транк (мастер) создается merge request и его смотрят
все участники проекта (порядка 10 человек). Там же, в gitlab пишутся комментарии, создаются дискуссии.
Ошибки исправляются и т.д., после чего ветка вливается. Сейчас в отдельной группе мы дополнительно
делаем ревью перед самой первой отправкой проекта в отдел тестирования, а также в отдельных других случаях.

RF>Кто проводит у вас code review?


Все, кто работает над проектом.

RF>Что бывает в случае плохого результата code review?


Код не принимается. Или ты его переписываешь, или ветка не вливается.
Вот буквально вчера мой код забраковали из-за того, что там была глобальная функция
Re: Code review (просмотр кода)
От: XOOIOOX  
Дата: 25.04.19 12:14
Оценка: -1 :))) :)
Здравствуйте, RussianFellow, Вы писали:

RF>Что бывает в случае плохого результата code review?


Ставят в угол, чтобы подумал над своим поведением.
Re: Code review (просмотр кода)
От: Pzz Россия http://pzz.livejournal.com/
Дата: 25.04.19 13:02
Оценка: +2
Здравствуйте, RussianFellow, Вы писали:

RF>В чём заключается code review? Есть ли у вас на работе такое и как часто, каким образом оно проводится? Кто проводит у вас code review?

RF>Что бывает в случае плохого результата code review?

Code review заключается в том, что прежде, чем написанный (или измененный) код попадет в проект, другой человек его просматривает на предмет ошибок, неудачных решений, соответствия принятому стилю и т.п.

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

Если код не проходит code review, он направляется на переделку, а потом опять на code review — и так до тех пор, пока код его не пройдет и не попадет в основную кодовую базу.
Re: Code review (просмотр кода)
От: LaptevVV Россия  
Дата: 25.04.19 14:08
Оценка:
RF>В чём заключается code review? Есть ли у вас на работе такое и как часто, каким образом оно проводится? Кто проводит у вас code review?
RF>Что бывает в случае плохого результата code review?
0. Есть
1. Чтение кода.
2. Провожу я.
3. Код возвращается на переделку.
Я читаю все коды всех студентов по всем лабам...
И нещадно возвращаю по 5-7-10 раз, пока не напишут, как следует...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Code review (просмотр кода)
От: Lexey Россия  
Дата: 25.04.19 14:59
Оценка: +1 -1
Здравствуйте, RussianFellow, Вы писали:

RF>Уважаемые коллеги, предлагаю вам обсудить такую тему, как code review (просмотр кода).


Зачем?

RF>В чём заключается code review?


Тебя в поисковиках забанили? По запросу находится вагон релевантной информации.

RF>Есть ли у вас на работе такое и как часто, каким образом оно проводится?


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

RF>Кто проводит у вас code review?


Кто-то из группы/групп, которым принадлежит код, в который происходит комит.

RF>Что бывает в случае плохого результата code review?


Исправление кода до тех пор, пока он не пройдет ревью. В редких случаях комит просто выбрасывается в мусор (например, когда оказывается, что от него вреда будет больше, чем пользы).
"Будь достоин победы" (c) 8th Wizard's rule.
Re: Code review (просмотр кода)
От: CreatorCray  
Дата: 25.04.19 18:42
Оценка: 11 (4) +8 :))) :))) :))
Здравствуйте, RussianFellow, Вы писали:

RF>Уважаемые коллеги, предлагаю вам обсудить $SUBJECT_NAME

RF>В чём заключается $SUBJECT_NAME? Есть ли у вас на работе $SUBJECT_NAME и $MORE_QUESTIONS?

Ну как бы только совсем с тобой не знакомые на такое должны клевать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[2]: Code review (просмотр кода)
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 25.04.19 19:12
Оценка: :))) :)
Когда я учился в институте, у нас не было никакого code review. И на нынешней и на всех предыдущих работах у меня не было никакого code review.
Главное--чтобы код работал и работал правильно.
Проще показать
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 25.04.19 23:02
Оценка: 9 (1) +1 :))) :))) :))) :))) :)
Здравствуйте, RussianFellow, Вы писали:

RF> каким образом оно проводится?


Примерно вот так:

https://avatars.mds.yandex.net/get-zen_doc/99893/pub_5b07db51bce67eab1e649e08_5b07ddd0bce67eab1e649e32/scale_1200
С уважением, Artem Korneev.
Отредактировано 25.04.2019 23:03 Artem Korneev . Предыдущая версия .
Re[3]: Code review (просмотр кода)
От: LaptevVV Россия  
Дата: 26.04.19 03:10
Оценка:
RF>Когда я учился в институте, у нас не было никакого code review. И на нынешней и на всех предыдущих работах у меня не было никакого code review.
RF>Главное--чтобы код работал и работал правильно.
Это — неправильно!
Как тогда учить студентов хорошему стилю и рефакторингу?
Для рефакторинга вариантов лаб не напасешься.
А тут тебе и коде ревью, и рефакторинг в одном флаконе.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Code review (просмотр кода)
От: Vlad_SP  
Дата: 26.04.19 07:16
Оценка: +3 -1
Здравствуйте, LaptevVV,

LVV>Как тогда учить студентов хорошему стилю и рефакторингу?


Валерий Викторыч, это отнюдь не кодревью и не "хороший стиль", а — "стиль, который нравится профессору". Ваш-то код кто-нибудь ревьюит?
Re[5]: Code review (просмотр кода)
От: kaa.python Сингапур http://sysdev.me/
Дата: 26.04.19 07:41
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

V_S>Валерий Викторыч, это отнюдь не кодревью и не "хороший стиль", а — "стиль, который нравится профессору". Ваш-то код кто-нибудь ревьюит?


Какой-то стиль всяко нужно взять за образец и считать именно его правильным. Чем стиль профессора плохой образец для студентов?
Re[3]: Code review (просмотр кода)
От: barn_czn  
Дата: 26.04.19 08:02
Оценка: +1
Здравствуйте, RussianFellow, Вы писали:

RF>Главное--чтобы код работал и работал правильно.


Один товарищ так же говорит.
Это не правильно!
Поймите, что абсолютную работоспособность кода вы никогда не докажете. Это значило бы полный перебор всех кейсов на входе.
Отсюда следует, что любой код — условно работоспособен. Т.е. проверен на ограниченом кол-ве тестов. Отсюда второй вывод — код постоянно под риском исправлений.
Как прикажете исправлять код который плохо написан?
Поэтому "лижбы работало" не годится. Должно И работало И красиво и понятно написано.

Для достижения второго пункта и делается кодревью.
Re[6]: Code review (просмотр кода)
От: Vlad_SP  
Дата: 26.04.19 08:15
Оценка: +2
Здравствуйте, kaa.python,

KP>Какой-то стиль всяко нужно взять за образец и считать именно его правильным. Чем стиль профессора плохой образец для студентов?


Стиль профессора может быть и не плохой образец для студентов. Однако если цель кодревью — только "исправление стиля", типа исправления расстановки скобочек (Kernighan vs Allman etc.), то это пустая трата времени.

Кодревью (а может, более точное название — code inspection) предназначен прежде всего для поиска, предупреждения и устранения ошибок. У нас в команде, например, любой может проинспектировать код хотя бы и тимлида, и ничего ему за это не будет Стиль вообще не обсуждается и не правится — поскольку стиль определен в Coding convention, и все программисты ему следуют, без труда читая и модифицируя код друг друга. А дизайн на кодревью тоже не обсуждается и не правится — поскольку этапу(-ам) кодревью еще предшествует этап design review, на котором как раз и выявляются и выправляются косяки в дизайне.
Re[5]: Code review (просмотр кода)
От: LaptevVV Россия  
Дата: 26.04.19 08:24
Оценка:
LVV>>Как тогда учить студентов хорошему стилю и рефакторингу?
V_S>Валерий Викторыч, это отнюдь не кодревью и не "хороший стиль", а — "стиль, который нравится профессору". Ваш-то код кто-нибудь ревьюит?
"Мастерство не пропьешь"(с)...
Около 50 лет опыта, прочитано литературы едва ли не больше всех в России. Причем не только по С++, а все остальное по всем программистским вопросам...
Да и коды не такие объемные — лабы и курсовые.
В таких объемах указать студенту на его ОЧЕВИДНЫЕ ошибки — не очень большая проблема.

Я один могу преподавать всю программерскую и математическую часть учебного плана.
Не возьмусь читать английский, и гуманитарные дисциплины.
Хотя психологию — могу...
Как-то так.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Code review (просмотр кода)
От: Pzz Россия http://pzz.livejournal.com/
Дата: 26.04.19 08:28
Оценка: +2
Здравствуйте, RussianFellow, Вы писали:

RF>Главное--чтобы код работал и работал правильно.


И еще, он должен быть человеку понятен, потому, что никому не нужен код, который невозможно развивать и поддерживать, даже если в данный момент кажется, что он работает правильно.

И вот для достижения этих целей используются разные инструменты. Code review — один из них.
Re[7]: Code review (просмотр кода)
От: Pzz Россия http://pzz.livejournal.com/
Дата: 26.04.19 08:30
Оценка: +1 -2 :)
Здравствуйте, Vlad_SP, Вы писали:

V_S>Стиль профессора может быть и не плохой образец для студентов. Однако если цель кодревью — только "исправление стиля", типа исправления расстановки скобочек (Kernighan vs Allman etc.), то это пустая трата времени.


Вот чем хорош язык Go, в нем есть один единственный правильный стиль, который жестко енфорсится редактором текстов. И это сразу снимает все вопросы по стилю. И очень освобождает руки от форматирования текста.
Re[7]: Code review (просмотр кода)
От: so5team https://stiffstream.com
Дата: 26.04.19 08:32
Оценка: :))
Здравствуйте, Vlad_SP, Вы писали:

V_S>У нас в команде, например, любой может проинспектировать код хотя бы и тимлида, и ничего ему за это не будет


-- Василий Иванович, а правда, что я на партсобрании могу и тебя критиковать, и Фурманова, и мне за это ничего не будет?
-- Да, Петька. Ничего тебе за это не будет. Ни отпуска, ни увольнительных, ни папахи новой... Ничего тебе, Петька, не будет.

Извините
Re[4]: Code review (просмотр кода)
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 26.04.19 08:33
Оценка: :))) :))
Здравствуйте, LaptevVV, Вы писали:

LVV>Как тогда учить студентов хорошему стилю


У каждого программиста--свой стиль. Главное, чтобы код был читаемый.

LVV>Для рефакторинга вариантов лаб не напасешься.


Зачем нужен рефакторинг? Я всю жизнь без всякого рефакторинга программировал.
Re[5]: Code review (просмотр кода)
От: LaptevVV Россия  
Дата: 26.04.19 08:45
Оценка: +2
LVV>>Как тогда учить студентов хорошему стилю
RF>У каждого программиста--свой стиль. Главное, чтобы код был читаемый.
Нет. Есть общие признаки хорошего стиля.
Читайте классиков: МакКоннелл, Саттер+Александреску.
LVV>>Для рефакторинга вариантов лаб не напасешься.
RF>Зачем нужен рефакторинг? Я всю жизнь без всякого рефакторинга программировал.
Значит вы не делали нескольких версий программы.
В нынешних реалиях рефакторинг делать приходится по-любому.
Более того, в матрице программиста 2 умение рефакторить является одним из обязательных скиллов.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.