SPA Conference session: Programming as if the domain mattered.

One-line description:Surprisingly better code by taking notice of the domain.
 
Session format: Workshop (150 mins) [read about the different session types]
 
Abstract:Developers in the know these days understand that code should work and pass automated tests. However, code can work and pass tests but still be a mess.

We believe that this is often because the code does not properly focus on the problem domain. This workshop makes participants experiment with code design in a way that will challenge them to produce code that reads better, explains itself better and will be easier to maintain through emphasizing the domain.
 
Audience background:Developers, Java
 
Benefits of participating:Learn to write better code - being surprised by code being better when it looks really simple.
 
Materials provided:Good but not great code (written in Java).
 
Process:Participants will be given some code that works and passes automated tests, but is not great code. They will be encouraged to refactor it in certain ways; to reflect the domain more clearly. The expectation is that by requiring all the code to as far as possible reflect concepts from the problem domain, then the code will be easier
to understand, and so easier to modify and maintain.
 
Detailed timetable:00:00 Introductions
00:05 Explain the session, the idea of "programming as if the domain mattered", the kind of refactoring desired
00:15 Exhibit the code, distribute to attendees
00:20 Review of the current state of the code, seeded with a few egregious points
00:30 Begin refactoring
01:00 How's it going so far? Any interesting experiences?
01:10 break
01:25 resume, back to refactoring
02:00 Review of the new state of the code, reflections on the changes made
02:30 end
 
Outputs:Before and after versions of code.
 
History:Not presented this before.
 
Presenters
1. Ivan Moore
Team Optimization
2. Keith Braithwaite
Zuhlke Ltd
3.