I am planning to re-organise some of the content of the blog. From now own TDD Katas will no longer be posted as blog posts, instead they will be added to the page "TDD Katas" on this blog under the following url: http://javing.blogspot.com/p/tdd_9.html
Showing posts with label Kata. Show all posts
Showing posts with label Kata. Show all posts
Saturday, February 8, 2020
Tuesday, March 28, 2017
13 minutes TDD warm up
O wow! I haven't realised for how long I didn't write a blog post. I better start posting again, but first... Let's warm up with a bit of TDD. Ok I've got 13 minutes, lets put on some music and see if I can do a Kata.
Note: To view in high resolution, open the full screen view and change the video quality using the wheel.
The video is raw unedited, the music is coming from youtube in my second screen.13 roman digits, parsed in 13 minutes ;)
Labels:
java,
java 8,
Kata,
roman numbers,
roman numerals,
TDD
Sunday, August 26, 2012
Use a martial arts principle to improve your Test Driven Development skills.
In ancient Japan, martial arts were not just defence
techniques, they were also a way of
life(jap. “budo”).
In this way of life they combined physical, moral and spiritual dimensions with the goal of self-improvement.
Since very young, Japanese kids would join a martial arts school, to study: karate, aikido, judo…
They learned martial arts using a technique called “Kata”.
The “Kata” technique was based in the principle of “learn by repetition”.
By practicing exercises in a repetitive maner the learner comes to a point where develops the ability to execute those exercises and movements in a natural and reflexive maner(“intuition”).
In this way of life they combined physical, moral and spiritual dimensions with the goal of self-improvement.
Since very young, Japanese kids would join a martial arts school, to study: karate, aikido, judo…
They learned martial arts using a technique called “Kata”.
The “Kata” technique was based in the principle of “learn by repetition”.
By practicing exercises in a repetitive maner the learner comes to a point where develops the ability to execute those exercises and movements in a natural and reflexive maner(“intuition”).
Today in software development the amount of trainers that recommend to use Test Driven Development Katas, is increasing. Some would even say that the TDD katas, are the only way to learn TDD. The original idea of the kata as a maner of learning software development was introduced by Dave Thomas(author of: The pragmatic Programmer: From Journey man to Master ).
Programming principles such as KISS(Keep It Simple and Stupid) or YAGNI(You Ain’t Gonna Need It ) are very common in the TDD philosophy, but the main mantra behind TDD is the RGR principle (Red, Green, Refactor).
From the theoretical point of view, the RGR principle seems often very simple to new TDD developers.
But when it comes to real life practice, in many occasions the complexity of the software can make less experienced developers to panic.
A great practice to avoid this is to practice a TDD kata once in a while.
Peter Norvost(author of the blog: Geek Noise), recommends to new TDD developers to do simple katas of 30 minutes every morning for 2 weeks.
Now I will show you an example of a very simple TDD kata and
then I will perform a demonstration.
1-An empty string returns zero
2-A single number returns the value
3-Two numbers, comma delimited, returns the sum
4-Two numbers, newline delimited, returns the sum
5-Three numbers, delimited either way, returns the sum
6-Negative numbers throw an exception
7-Numbers greater than 1000 are ignored
Note: Don't forget to set the quality to HD in the video player
Labels:
Best Practice,
java,
Kata,
TDD,
Test Driven Development
Subscribe to:
Posts (Atom)