Simplicity is perhaps the core value of Java
development. It makes you more productive, improves the readability
of your code, reduces bugs, and makes it easier to layer core
concepts. It's a concept that does not stand alone.
You must consider the foundation that you're
usingwhether it's a framework, design
pattern, or your own code. You've also got to worry
about your development process, because complex development processes
frequently lead to complex code.Finally, you've got to embrace the practices of
refactoring and testing to have the freedom that leads to simplicity.
One XP principle is to try the simplest thing that will work. This
adage works well within XP because if you're wrong,
you can refactor. Since you started with a simple solution,
you're not going to lose much. Refactoring, through,
can be dangerous, so you need a safety net. Automated unit tests
provide that safety net.In the next chapter, I'll introduce the principle
"Do one thing, and do it well."
You'll learn how to focus the goals of each part of
your system. As you'd probably expect,
I'll also spend some time talking about reducing