Миф о коде как ремесле: Почему прагматизм превосходит совершенство

Миф о коде как ремесле: Почему прагматизм превосходит совершенство

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

October 23, 2025 · 6 min · 1154 words · Maxim Zhirnov
The Case Against Always Using Agile User Stories

The Case Against Always Using Agile User Stories

Look, I’m going to say something that might get me uninvited from the next Agile conference: user stories aren’t always the answer. There, I said it. Before you close this tab and write an angry comment about how I “don’t understand Agile,” hear me out. I’ve spent years watching teams religiously convert every single requirement into the sacred “As a… I want… So that…” format, even when it made absolutely no sense to do so....

October 8, 2025 · 2 min · 388 words · Maxim Zhirnov
Аргументы против постоянного использования гибких пользовательских историй

Аргументы против постоянного использования гибких пользовательских историй

Посмотрите, я собираюсь сказать кое-что, что может привести к тому, что меня не пригласят на следующую конференцию по Agile: истории пользователей не всегда являются решением. Вот, я это сказал. Прежде чем вы закроете эту вкладку и напишете гневный комментарий о том, что я «не понимаю Agile», выслушайте меня. Я годами наблюдал, как команды религиозно превращают каждое требование в священный формат «Как… Я хочу… Чтобы…», даже когда это было абсолютно неуместно....

October 8, 2025 · 2 min · 371 words · Maxim Zhirnov
The Case Against Always Using Reactive Programming

The Case Against Always Using Reactive Programming

Let me tell you a story. Last week, I walked into a codebase that looked like it was written by someone who had just discovered reactive programming and decided that everything needed to be reactive. Every button click, every API call, every sneeze was wrapped in observables. It was like watching someone use a chainsaw to slice bread – technically possible, but you’re left wondering if they’ve lost their mind. Don’t get me wrong – reactive programming has its place....

October 6, 2025 · 10 min · 2099 words · Maxim Zhirnov
Аргументы против постоянного использования реактивного программирования

Аргументы против постоянного использования реактивного программирования

Позвольте мне рассказать вам историю. На прошлой неделе я столкнулся с кодовой базой, которая выглядела так, будто её написал кто-то, кто только что открыл для себя реактивное программирование и решил, что всё должно быть реактивным. Каждое нажатие кнопки, каждый вызов API, каждое чихание были заключены в наблюдаемые объекты. Это было похоже на то, как кто-то использует бензопилу, чтобы нарезать хлеб — технически возможно, но вызывает вопросы о здравомыслии. Не поймите меня неправильно — у реактивного программирования есть своё место....

October 6, 2025 · 5 min · 1023 words · Maxim Zhirnov