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. | |