|
Notes from presentations are available on this site (if the presenter has provided
us with his/her materials). Simply go to the PROGRAM link and click on the session. |
The Shout Kata: Programming a Client-Server infrastructure in full TDD
Emmanuel Gaillot (Octo Technology)
Tutorials · Developing
Monday, 14:00, 3 hours 30 minutes | Meeting Room 5
TDD does wonders for coders. The technique in itself is outrageously simple
to grasp. It's easy to demonstrate it in a couple of hours. Many books and
tutorials have been written on the subject, yet it's still not enough. Some
notoriously hard-to-test cases have yet to be properly addressed. What to do? Copying and pasting code snippets in blind faith, hoping they
won't break later? Making ("it's okay once in a while!") an exception to the
TDD discipline? We don't have to. There is a better option. In this session we will program from scratch a full-fledged client-server
system providing a simple broadcast service (in the spirit of the "shout"
command available in text-based virtual worlds), in full TDD. All in one
thread. This coding journey will happen in the form of a (Paris Coders' Dojo) kata
session in Ruby, a session during which the developer and the copilot write the
full code directly in front of – and with the full collaboration of – the
audience, submitting their design to everybody's questions, comments,
suggestions and approbation.
Building a client-server infrastructure is one of them. Most of the available
documentation on constructing a client-server system involves multithreading...
and code snippets with no test. Indeed: because of its lack of determinacy,
multithreaded code is a test nightmare.






