We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Domain-Driven Refactoring (Jimmy Bogard)
Domain-driven refactoring with Jimmy Bogard: transforming existing code into maintainable, well-designed codebases through understanding the business domain, breaking down complexity, and using testing and code smells as guides.
- Domain-driven refactoring is the process of taking existing code and transforming it into a well-designed, maintainable codebase.
- Jimmy Bogard emphasizes the importance of having a clear understanding of the business domain and its rules before starting the refactoring process.
- The speaker uses an example of an offer system to demonstrate the refactoring process, highlighting the importance of breaking down complex logic into smaller, more manageable pieces.
- He encourages developers to use code smells as a guide for refactoring, rather than just relying on personal opinion or existing code.
- The speaker highlights the importance of testing and refactorings, as well as the value of determining the “right” abstraction for a function.
- Domain models are encouraged to be the core of any system, as they define the business rules and concepts.
- The refactoring process should be driven by the domain model and its rules, rather than external factors such as user interfaces or database schema.
- TDD (Test-Driven Development) and RSpec (RSpec) are recommended for testing and ensuring that codebehaviors are suitably reflected.
- The speaker encourages developers to document and comment on code during the refactoring process, as it helps enforce understanding and encourages the development of others.
- Jimmy Bogard highlights the importance of taking different approaches, such as “pulling” and “pushing,” when dealing with code smells and other refactorings.
- Encourages developers to avoid static methods to allow for better testing, mainly by faking out external exposures.