#software-design
The latest AI and developer news about #software-design, with the original source and a short summary.
The latest AI and developer news about #software-design, with the original source and a short summary.
We improved the architecture by separating the transaction script structure, where business logic was mixed together, into accommodation meta data and a price calculation module.
Good code should be easier to read than to write, and should be designed so that it's hard to use incorrectly.
Error representations should be unified into one rather than scattered across many, so that the call site stays simple.
It presents a design method to prevent invalid state creation caused by value duplication when applying aggregation or composition after separating data models.
Setting a value with special meaning as a default parameter can cause bugs through unintended object creation.
This proposes a design approach that keeps function names and behavior consistent, in order to prevent bugs caused by mismatches between a function's name and its actual behavior.
This presents a design approach to prevent the problem that arises when using null as the termination signal for an Iterator, since it cannot be distinguished from actual data.
It suggests explicitly defining task order by leveraging function arguments and return values, thereby increasing cohesion and reducing coupling.
This explains how to improve code stability by consolidating related data scattered across multiple Maps or Lists into a single data class.
This analyzes state management errors and design flaws that arise when the lifecycles of objects become entangled with each other.
This piece corrects the history and misunderstandings surrounding the SOLID principles, a cornerstone of software design, and presents the right way to apply them.
By using test code as the first user of implementation code, you can separate an object's responsibilities and improve code design.
Shares the experience of designing a WebClientModule for Nest.js that minimizes external library dependency and improves testability.
Test code reduces debugging costs, relieves anxiety about code changes, and supports sustainable software development.
A Kurly engineer shared how they applied DDD's Loose Coupling and High Cohesion principles to design MSA, along with its benefits.