{"id":36,"date":"2011-04-14T20:51:21","date_gmt":"2011-04-14T20:51:21","guid":{"rendered":"http:\/\/agilestaffordshire.org\/?p=36"},"modified":"2013-02-19T23:09:33","modified_gmt":"2013-02-19T23:09:33","slug":"april-meeting-test-driven-development","status":"publish","type":"post","link":"https:\/\/agilestaffordshire.org\/agile\/april-meeting-test-driven-development\/","title":{"rendered":"April Meeting: Test Driven Development"},"content":{"rendered":"

\"\"Details<\/h2>\n

Date: Tues 26th April 2011<\/p>\n

Time: 7:15pm start to a 9:15pm (doors open at 6:30pm and close when the till’s full)<\/p>\n

Location:\u00a0http:\/\/www.pieandale.com<\/a><\/p>\n

Theme:\u00a0Test Driven Development<\/p>\n

Talk<\/h2>\n

A short talk from Shaun Finglas about his experiences in developing a version of Pong using test driven development, object oriented design principles, CRC and dependency injection. He’ll show us the production and test code, and explain design\u00a0decisions he’s made. Hopefully this will\u00a0illustrate\u00a0how\u00a0Agile software development techniques can improve games development by reducing close coupling, driving a better API and promoting the correct level of abstraction.<\/p>\n

Exercise<\/h2>\n

We’ll try and get 90 minutes for the programming part of the meeting so that we can try a kata with a few more issues to solve. Having discussed the best kata to use for this session with a few people we’ve selected “Back to the Checkout” from Dave Thomas: \u00a0<\/p>\n

http:\/\/codekata.pragprog.com\/2007\/01\/kata_nine_back_.html<\/a><\/p>\n

<\/span><\/p>\n

This involves producing a supermarket checkout application that takes a number of price reduction offers. The exercise starts with a simple “scan” method that is called again and again when the checkout operative passes a product over the bar code scanner. The way the bill is produced is open ended, but the system needs take into account offers like “buy one get on free”, “buy two get on free” etc which are represented in the post as lists of SKUs (stock keeping units).<\/p>\n

We’ve chosen this kata because the final solution has some interesting problems to solve regarding the coupling of the classes produced. As we’re still introducing TDD to some people I believe this will illustrate that test driving code can produce a better API with better separation of behaviour in addition to providing the benefits of security, communication and confidence to change that we have already seen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Details Date: Tues 26th April 2011 Time: 7:15pm start to a 9:15pm (doors open at 6:30pm and close when the till’s full) Location:\u00a0http:\/\/www.pieandale.com Theme:\u00a0Test Driven Development Talk A short talk from Shaun Finglas about his experiences in developing a version of Pong using test driven development, object oriented design principles, CRC and dependency injection. He’ll […]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[3],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4r37M-A","_links":{"self":[{"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/posts\/36"}],"collection":[{"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":1,"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":422,"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/posts\/36\/revisions\/422"}],"wp:attachment":[{"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agilestaffordshire.org\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}