Why Your Code Shouldn't Always Be DRY: A Practical Guide to Knowing When to Break the Rules

Why Your Code Shouldn't Always Be DRY: A Practical Guide to Knowing When to Break the Rules

If you’ve been in programming for more than five minutes, you’ve probably heard the sacred mantra: “Don’t Repeat Yourself”. It’s treated like the holy scripture of code quality, whispered in code reviews, preached in bootcamps, and invoked by developers everywhere like some sort of software incantation. But here’s the thing—and I say this with all the love in my heart for clean code—dogmatically following DRY might be one of the most effective ways to create a maintenance nightmare....

November 29, 2025 · 11 min · 2255 words · Maxim Zhirnov
Почему ваш код не всегда должен быть СУХИМ: Практическое руководство о том, когда следует нарушать правила

Почему ваш код не всегда должен быть СУХИМ: Практическое руководство о том, когда следует нарушать правила

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

November 29, 2025 · 6 min · 1105 words · Maxim Zhirnov
Искусство написания непереносимого кода: Когда выгодно использовать Lock-In

Искусство написания непереносимого кода: Когда выгодно использовать Lock-In

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

November 9, 2025 · 5 min · 1058 words · Maxim Zhirnov
Should Programming Languages Have Built-in Ethical Constraints? A Practical Deep Dive

Should Programming Languages Have Built-in Ethical Constraints? A Practical Deep Dive

Ever tried to explain to a non-technical person why you can’t just “add ethics” to a programming language? It’s like trying to explain why you can’t just add sarcasm to calculus—technically possible, utterly confusing, and nobody asked for it anyway. Yet here we are, in 2025, and the conversation about embedding ethical constraints directly into programming languages is becoming increasingly impossible to ignore. Let me be upfront: this isn’t a question with a simple yes or no answer....

November 3, 2025 · 10 min · 1921 words · Maxim Zhirnov
Должны ли языки программирования иметь встроенные этические ограничения? Практичное глубокое погружение

Должны ли языки программирования иметь встроенные этические ограничения? Практичное глубокое погружение

Вы когда-нибудь пытались объяснить нетехническому человеку, почему нельзя просто «добавить этику» в язык программирования? Это всё равно что пытаться объяснить, почему нельзя просто добавить сарказм в математику — технически возможно, крайне запутанно и никто об этом не просил. И всё же мы здесь, в 2025 году, и разговоры о внедрении этических ограничений непосредственно в языки программирования становится всё сложнее игнорировать. Позвольте мне быть откровенным: это не вопрос, на который можно ответить простым «да» или «нет»....

November 3, 2025 · 6 min · 1180 words · Maxim Zhirnov