Knowing nothing about proper design or clean code, I slowly added more and more functionality to my program, I'd insert a few lines here and a few lines there until my functions became long and tangled. Classes quickly bloated becoming god classes with an overabundance of dependencies.
Over time, I learned more about design and started striving to always have clean code and follow the single responsibility principle. I eventually had an epiphany -- a stronger developer refactors the current design into an architecture that supports the newly required features and improves the design's quality attributes; the weaker developer stays with the current design no matter how messy the eventual solution might become.
Quality code doesn't come overnight, grow with a degree, or sprout with certifications, it comes with experience.
Image from: Chris Dalrymple's Moblog
No comments:
Post a Comment