Kata and Analysis @ YouTube
- RubyConf India 2013 Kata and Analysis by Jim Weirich
It talks about Kata (kind of “format” or “regime” or “style”) on programming, using the TDD-style live coding. This session follows though the typical incremental development guided by tests. The topic is to convert arabic numbers (1, 2, 3…) to roman numbers (I, II, III…). It’s concise and well structured example to present some set of practices to follow, during the development.
It covers good insights like the following (summary starts from around 37:00).
- Where to start and continue: start from simplest example and let them grow guided by tests.
- To recognize duplication: recognize the redundant patterns to do refactoring, but avoid over-simplification, as it reduces readability.
- When to explore: if there’s some unknowns, do some experiments out of TDD style using some tools like irb, and then get back.
Sometimes it’s being said that good programmers keep following the good habits, rather than manipulating exceptional tricky skills. Acquiring the decent habits are the way to becomes an experienced programmer, and it involves sliming down rather than getting new skills. It’s more on learning the balance. Avoiding fancy extra meta-programming may be one example, which I liked being indulged into…