Watch the screencast
In the pilot episode of my new “Cursed Code” series, I dive into the depths of Ruby code submissions to refactor and discuss best practices. This test-run episode tackles the age-old dilemma of naming abstract base classes.
The Cursed Code
The code in question features an abstract base class aptly named Base
. While this naming convention might seem innocuous at first glance, it can lead to confusion and potential naming conflicts, especially in larger codebases.
class Base
# ...
end
During the video, I explore the rationale behind this naming choice and propose alternative approaches that can improve code clarity and maintainability.
The Refactoring
One of the key refactoring techniques demonstrated in this episode is the power of composition over inheritance. By breaking down the inheritance relationship between Base and its subclasses, we make the code more flexible and resistant to changes in the base class.
This approach not only avoids the potential naming conflicts but also promotes better separation of concerns and easier testability.
Get Involved
If you have your own “cursed” Ruby code that you’d like me to refactor and discuss on a future episode, head over to the Cursed Code GitHub repository and submit your code. I’m always on the lookout for interesting and challenging code samples to dissect and improve.
Don’t forget to check out the pilot episode on YouTube to see the refactoring process in action and learn more about the “Cursed Code” series.
Stay tuned for more cursed code adventures!