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

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

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

23 октября 2025 06:00 · 6 минут · 1154 слова · Maxim Zhirnov
Аргументы против постоянного использования гибких пользовательских историй

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

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

8 октября 2025 06:00 · 2 минуты · 1 слово · Maxim Zhirnov
Аргументы против постоянного использования реактивного программирования

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

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

6 октября 2025 06:01 · 5 минут · 1023 слова · Maxim Zhirnov
Игнорируя показатели производительности, чтобы сосредоточиться на пользовательском опыте

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

Представьте: ваше приложение загружается за 50 миллисекунд, у него нет утечек памяти, а график использования CPU выглядит как идеально ровная линия. Ваша инженерная команда аплодирует в коридоре, заинтересованные стороны одобрительно кивают, глядя на панель управления, и тут… пользователи недовольны. Они покидают ваше приложение быстрее, чем люди выходят с совещания, которое можно было бы провести по электронной почте. Добро пожаловать в великий парадокс современной разработки программного обеспечения, где мы стали настолько одержимы измерением машины, что забыли о человеке, сидящем за экраном, который, вероятно, проклинает наше «идеально оптимизированное» творение....

5 октября 2025 06:01 · 5 минут · 1002 слова · Maxim Zhirnov
Почему Технический долг - это не всегда плохо

Почему Технический долг - это не всегда плохо

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

24 сентября 2025 06:01 · 6 минут · 1082 слова · Maxim Zhirnov