Искусство написания кода, который работает только на вашем компьютере

Искусство написания кода, который работает только на вашем компьютере

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

October 24, 2024 · 4 min · 657 words · Maxim Zhirnov
Effective Use of Design by Contract in Software Development

Effective Use of Design by Contract in Software Development

What is Design by Contract? Imagine you’re at a restaurant, and you order a meal. You expect the food to be prepared according to your specifications (no nuts, extra sauce), and you trust that the chef will deliver. If the chef fails to meet these expectations, you might be in for a surprise, and not the good kind. This scenario is eerily similar to how software components interact with each other, and that’s where Design by Contract (DbC) comes into play....

October 15, 2024 · 5 min · 944 words · Maxim Zhirnov
Эффективное использование дизайна по контракту при разработке программного обеспечения

Эффективное использование дизайна по контракту при разработке программного обеспечения

Что такое «Дизайн по контракту»? Представьте, что вы в ресторане и заказываете блюдо. Вы ожидаете, что еда будет приготовлена согласно вашим требованиям (без орехов, с дополнительным соусом), и доверяете повару. Если повар не выполнит ваши ожидания, вас может ждать неприятный сюрприз. Этот сценарий очень похож на то, как взаимодействуют программные компоненты, и здесь вступает в игру «Дизайн по контракту» (DbC). Созданный Бертраном Мейером в 1980-х годах, DbC — это подход к проектированию программного обеспечения, который фокусируется на определении контрактов, описывающих взаимодействие между компонентами....

October 15, 2024 · 4 min · 721 words · Maxim Zhirnov
Effective Use of Dependency Injection in Software Design

Effective Use of Dependency Injection in Software Design

The Magic of Dependency Injection Imagine you’re at a supermarket checkout, and instead of handing the cashier your entire wallet, you simply give them the exact payment method you need. This streamlined interaction is essentially what dependency injection (DI) does for your code. In this article, we’ll delve into the world of DI, exploring its benefits, types, and practical implementations, all while keeping it engaging and fun. What is Dependency Injection?...

October 13, 2024 · 6 min · 1166 words · Maxim Zhirnov
Why Your Code Isn't as Robust as You Think It Is

Why Your Code Isn't as Robust as You Think It Is

The Illusion of Robust Code As developers, we often pride ourselves on writing robust code, but how often do we really achieve this lofty goal? The truth is, even with the best intentions, our code can be far more fragile than we think. Let’s dive into the reasons why and explore some practical strategies to improve the robustness of our code. The Messy Reality Imagine you’re working on a project, and in the heat of the moment, you opt for a quick fix rather than a clean, well-structured solution....

October 3, 2024 · 4 min · 792 words · Maxim Zhirnov