Size: a a a

2021 April 29

AP

Andrei Protasovitski in Modern::Perl
Вообще внедрение любых процессов в процесс разработки софта (типа code review, release approval и прочие баззворды) -- это лечение симптомов проблемы и нежелание признавать проблему. Code review говорит о том, что проблема либо в некопетентности разработчиков, либо в их неумении договариваться. Code review ни одну из этих проблем не решает. На некоторое время может купировать симптомы, но в долгосрочной перспективе приводит к диктатуре посредственностей.
источник

a

allter in Modern::Perl
Ещё не учли ситуацию реальной сложности системы и/или бизнес-процессов, которые она реализует или автоматизирует.

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

AP

Andrei Protasovitski in Modern::Perl
Для некоторых проблем внедрение процессов (читай: лечение симптомов) может оказаться дешевле, чем решение самой проблемы.

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

AP

Andrei Protasovitski in Modern::Perl
Я тут три месяца работал с Vuejs со всем этим кровавым Энтерпрайзом в виде код ревью, автоматического тестирования, CI/CD и прочие модные фишки.

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

AB

Alex Bush in Modern::Perl
Как раз недавно скандал был с одним университетом и ядром. Кстати, те патчи code review не прошли.
источник

W

Warstone in Modern::Perl
А это разве критика в автотестах не проверит?
источник

AP

Andrei Protasovitski in Modern::Perl
Зато какой-нибудь кусок кода, который делает


array1.forEach(el => el.find(inner => { blah-blah; });


Где в каждом из массивов по пять тысяч элементов, проходит код ревью на ура. Потому что "на моём MacBook Pro с 16 гигами памяти работает".
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
нынче?
источник

AP

Andrei Protasovitski in Modern::Perl
А когда я вместо цикла для поиска сделал Map, что даже на "его MacBook Pro" разница заметна была, два дня меня мучали вопросами "а что этот код делает?", "а почему так сложно?" и т.п.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
не прошли, но в ядро попали?
источник

AP

Andrei Protasovitski in Modern::Perl
Зато, мля, код ревью!
источник

AB

Alex Bush in Modern::Perl
Не попали. На опеннете можете ознакомиться
источник

AB

Alex Bush in Modern::Perl
Даже боюсь представить во что превратилось бы ядро без code review
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
"все имеющиеся (их около 190) исключены из состава ядра и отправлены на повторную проверку. В некоторых из них выявлены различные ошибки. "
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
т.е. попали
источник

AB

Alex Bush in Modern::Perl
Конкретные 3 не попали
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
ну а причем конкретные три?
источник

AB

Alex Bush in Modern::Perl
Ох
источник

AB

Alex Bush in Modern::Perl
источник

AB

Alex Bush in Modern::Perl
Всего в августе 2020 года с анонимных адресов acostag.ubuntu@gmail.com и jameslouisebond@gmail.com (письмо от Джеймса Бонда) было отправлено пять патчей: два корректных (1, 2) и три включающих скрытые ошибки (1, 2, 3), создающие условия для возникновения уязвимостей.
источник