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}]}}