3 ms·
Since a majority of programming today is still done object oriented, I'd pack "Growing Object Oriented Software Guided By Tests" on the list, simply because it
by emsy 12y ago
Since a majority of programming today is still done object oriented, I'd pack "Growing Object Oriented Software Guided By Tests" on the list, simply because it teaches you what object orientation actually is and how to apply it. I feel that most of the hate against OOP would vanish if the knowledge in this book was shared and applied.
- platz 12y agoI got through this book and found myself nodding in agreement with many of it's observations and recommendations, but I'm not sure it completely sunk in (despite the examples) the such that I would be able to synthesize the same results myself. I'm considering a second reading which might be more fruitful now that I know what's going to be said, and could concentrate harder generalizing the details. Maybe it was in fact the such extended example that threw me off. Also, slightly worried that this style could lead to an object soup?
- emsy 12y agoA fellow developer told me he worked the presented project along with the book and it greatly helped him to understand the content. I plan to do this myself one day. I'm not afraid of object soup because first, the alternative is implementation soup, with methods that span several tens or hundreds of lines. There is little abstraction of high level concepts. Also it depends on the organization. I keep everything cohesive and organized in packages (or namespaces). With Maven, Gradle or most other build tools, you can even divide your application in Modules that don't know each other. If they need to communicate, they may use a common Message Bus, that is a separate module. Another advantage of this is that this makes it easier for you application to run distributed if desired.