Not every change that preserves system behavior is a refactoring. But every genuine refactoring, by definition, preserves client-facing behavior completely.
Tag: technology
Is There Life After SCRUM?
How many of you have actually read the SCRUM Guide? If not, I encourage you to take a look—it’s available on scrum.org and contains the foundational principles behind one of the most widely adopted agile frameworks. But before we dive deeper, let’s ask a more fundamental question: Why be agile? Why do we want to… Continue reading Is There Life After SCRUM?
Changing Object Types to Reflect State Transitions
In object-oriented design, objects encapsulate state and expose behavior that operates on that state. Consequently, if an object must exhibit different behaviors at various stages of its lifecycle, it can be beneficial to represent these transitions by changing its type. For example, consider a system that manages books. A newly created but unsaved book might… Continue reading Changing Object Types to Reflect State Transitions