There was code (and not a single drop of blood)
The Don't lose your train of thoughts series is over. In case this is the first time you hear about it, it was a series of posts about how you go on designing software in an OO world. All the way from analysing requirements to design, development and testing along with a lot of reasoning on how to go on about things.
It all started with the SurvivalKit specification. The great thing about the series was that nothing was scripted, and there were no actors or stooges leaving a comment, or asking all the questions :)
Each post was "created on the fly" trying to mimic real world software development conditions. Still bare in mind that it was example code and not complete by any means.
Another characteristic was making the code as "copy/paste safe" as possible. Example code shouldn't violate basic principles which could cause people inheriting bad practices.
Finally, tried not to go astray so as not to confuse people with superflous details. A non technical jargon was also used for greater appeal.
Below is the TOC for the series
- Preamble - What is an Object?
- Introduction - Where to start
- Class Relationships - The importance of a healthy relationship
- Design for Immutability - Consider your state
- Design decisions - Think before you act
- The controller - Introducing the controller
- Builder pattern - Creating objects the fun way
- How to think of interfaces - How an interface can help
- The Factory - A valuable cliche
Don't get sad as there are plenty of posts in the queue to write about, expanding on some ideas roughly touched in the series. There is still the Don't Abuse The If and coming up the Don't Abuse Inheritance and Don't Abuse The For as well as plenty other standalone but hopefully as inspiring.
Do get in touch on what you are interested in seeing on qnoid.com when it comes to object oriented and software design or even write your own code that you want to talk about!
An aftermath post will follow with some general remarks and statistics about the series