Blog Post

Coding Kata Meetup

Coding Kata Meetup

The October 2018 meetup was held in Finnegan & Son in Newry.  Organiser Joe McKevitt guided attendees through exercises in refactoring legacy could with a test-driven development approach.

Code Kata

Links
Introduction into http://www.cyber-dojo.org
Session id – 4bPhxc
Teams used on the night – join team , lion, zebra, buffalo, rabbit, eagle, kingfisher

Speed car Kata – TirePressureMonitoringSystem exercise
https://github.com/emilybache/Racing-Car-Katas

Article explaining the merit of TDD, refactoring and good design principles (including sample solutions for the speed car kata)
https://github.com/lucaminudel/TDDwithMockObjectsAndDesignPrinciples

Good examples of other submissions
https://github.com/trikitrok/tire_pressure_monitoring_system_20160505/tree/master/src/main/java/tddmicroexercises/tirepressuremonitoringsystem

Usage of builders (Test builders)
https://github.com/trikitrok/tire_pressure_monitoring_system_20160505/blob/live_version_magento_20160505/src/test/java/tddmicroexercises/tirepressuremonitoringsystem/tests/helpers/AlarmBuilder.java

Links/References on Test driven development (TDD)

TDD does not drive towards good design, it drives away from a bad design. If you know what good design is, the result is a better design – Nat Pryce

TDD doesn’t drive good design. TDD gives you immediate feedback about what is likely to be bad design – Kent Beck

Michael Feathers: writing tests is another way to look the code and locally understand it and reuse it, and that is the same goal of good OO design. This is the reason of the deep synergy between testability and good design.

Jay Fields – Working Effectively with Unit Tests
https://leanpub.com/wewut

Podcast interview with Jay Fields
http://www.se-radio.net/2016/05/se-radio-episode-256-jay-fields-on-working-effectively-with-unit-tests/

Solid principles
References:
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design

Recommended reading
Working Effectively with Legacy Code

growing object-oriented software guided by tests

http://www.growing-object-oriented-software.com/

 

Related Posts