Почему Код-ревью часто является пустой тратой времени (и что делать вместо этого)

Почему Код-ревью часто является пустой тратой времени (и что делать вместо этого)

Начну с неоднозначного утверждения, которое, вероятно, вызовет возмущение: ревью кода, как их проводит большинство команд, — колоссальная трата времени. Прежде чем хвататься за вилы и факелы, выслушайте меня. Я был по обе стороны баррикад — и в роли ревьювера, погрязшего в diff, и в роли разработчика, который ждёт одобрения, пока его блестящий код устаревает. Неудобная правда заключается в том, что мы превратили ревью кода в подобие карго-культа. Мы проводим их, потому что «лучшие практики» говорят, что так надо, а не потому, что они действительно улучшают наш код или делают наши команды продуктивнее....

22 сентября 2025 06:01 · 6 минут · 1085 слов · Maxim Zhirnov
Почему ваше руководство по стилю кода, вероятно, слишком строгое

Почему ваше руководство по стилю кода, вероятно, слишком строгое

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

21 сентября 2025 06:01 · 6 минут · 1110 слов · Maxim Zhirnov
Почему чрезмерная инженерия иногда может быть правильным выбором

Почему чрезмерная инженерия иногда может быть правильным выбором

«Вы переусложняете это!» — боевой клич каждого основателя стартапа, который наблюдал, как сроки запуска его минимально жизнеспособного продукта (MVP) сдвинулись с «двух недель» на «когда-нибудь в следующем финансовом году». И, честно говоря, большую часть времени они абсолютно правы. Но здесь я собираюсь отстаивать идею, которая, вероятно, вызовет у меня немало резких комментариев: иногда именно переусложнение и нужно. Прежде чем закрыть эту вкладку и написать в твиттере, что я потерял рассудок, выслушайте меня....

19 сентября 2025 06:01 · 6 минут · 1150 слов · Maxim Zhirnov
Почему Вам иногда следует изобретать велосипед (И почему Ваша команда может возненавидеть Вас за это)

Почему Вам иногда следует изобретать велосипед (И почему Ваша команда может возненавидеть Вас за это)

Начну с признания: я изобретал колесо чаще, чем средневековый кузнец во время экзистенциального кризиса. И знаете что? Ни о чём не жалею. Если вы работаете в сфере разработки программного обеспечения больше пяти минут, то наверняка слышали священную мантру, разносящуюся по конференц-залам и обзорам кода: «Не изобретай колесо!». Её произносят с тем же благоговением, которое обычно приберегают для древних мудростей, часто сопровождая понимающим кивком и быстрой установкой очередной зависимости весом в 47 МБ для центрирования div....

18 сентября 2025 06:01 · 6 минут · 1111 слов · Maxim Zhirnov
Аргументы против того, чтобы всегда использовать объектно-ориентированное программирование

Аргументы против того, чтобы всегда использовать объектно-ориентированное программирование

Представьте: вы находитесь на встрече разработчиков, и кто-то спрашивает о решении простой задачи по преобразованию данных. Недолго думая, половина зала начинает чертить иерархии классов на салфетках, рассуждая об абстрактных фабриках и стратегиях. Тем временем другая половина тихо задаётся вопросом, не сошли ли мы все коллективно с ума. Не поймите меня неправильно — объектно-ориентированное программирование (ООП) не является злодеем в этой истории. Это мощная парадигма, которая подарила нам невероятные программные системы. Но в какой-то момент мы превратили ООП из полезного инструмента в золотой молоток, размахивая им при каждом удобном случае, даже когда эти «гвозди» на самом деле являются винтами, болтами или иногда просто отличными кусками дерева, которые вообще не нуждаются в каких-либо крепёжных деталях....

15 сентября 2025 06:01 · 5 минут · 1053 слова · Maxim Zhirnov