- By Emmanuel Valverde
- ·
- Posted 22 Mar 2024
Advanced Katas
You have reached the highest level. You have completed the learning phases and we move on to the more complex katas. Remember that in the link of..
Matheus Marabesi, a software craftsperson at Codurance, delves deeply into the list of 22 TDD anti-patterns compiled by James Carr. Through workshops, katas, and blogs, Matheus breaks down the list into a series of 6 chapters to learn how to identify them and avoid falling into the trap of certain tests that generate very large codebases and lead to slow feedback processes.
We kick off this series with the first 4 anti-patterns described by James Carr: Liar, Excessive Setup, Giant, and Slow Poke. Each anti-pattern includes an example of what it would look like in code, take advantage of these examples to identify if you might be falling into the trap. Read the blog in which we review the first 4 anti-patterns.
In this first workshop, Cameron Raw, software craftsperson, joins Matheus Marabesi to give an introduction to the anti-patterns and go through the first 4 on the list. Take a look at the first episode.
In this second session, we focus on another four anti-patterns, named Mockery, Inspector, Generous Leftovers, and Local Hero. Each one addresses a specific aspect of the code that makes testing difficult and are one of the potential reasons why companies argue they do not have time to build test-based solutions. Read the blog of the second chapter.
In the second episode, Javier Martínez Alcántara, craftsman, and Giulio Perrone, software engineer, explore the next 4 anti-patterns on the list and share ideas and experiences with Matheus. Watch the second workshop.
This chapter focuses on: Nitpicker, Secret Catcher, Dodger, and Loudmouth. These 4 anti-patterns are often seen in developers who have little experience writing test-driven applications. So, if you are new to TDD, beware of these 4 traps.
Juan Pablo Blanco, Head of Engineering at Scentmate by dsm-firmenich, one of our clients, joins us in this third session to analyse, along with Javier Martínez Alcántara and Matheus, how each of these anti-patterns look in code. Watch the third chapter.
Continuing with the series, we analyse 4 more anti-patterns: Greedy Catcher, Sequencer, Hidden Dependency, and Enumerator. Each focuses on a specific aspect of the code that makes testing difficult. Sometimes they are due to poor TDD practice or lack of knowledge about code design. Find code examples of these traps in the following blog.
In this fourth episode, Matheus focuses on showing how these new 4 anti-patterns can hide useful information that makes clean coding difficult or relates to the style of writing tests. Go to chapter 4 workshop.
In the fifth episode we look at 4 more anti-patterns: Stranger, OS Evangelist, Success against all odds and Free ride. Remember that the intention is to learn how to identify these common traps that we can fall into when applying TDD and that hinder our code. Read the blog of the fifth chapter.
Sofía Carballo, software craftsperson, and again Juan Pablo Blanco, accompany Matheus in this fifth episode. We encourage you to practice with the real examples suggested. Watch the fifth episode.
We come to the end of this series with the last two anti-patterns on James Carr's list: Flash and Jumper. Both focus on the practice of testing code rather than how the code itself is written. In the next blog, we will review them through cases that we can experience in our development projects. Read chapter six blog.
In the last episode we have as special guests Pablo Díaz, senior software engineer, from Scentmate by dsm-firmenich and Ignacio Saporitti, software craftsperson. These last two anti-patterns are a mix of some of the ones already covered, we show you how they work and what to do to avoid them. Watch last episode.
If you are interested in the complete guide to antipatterns download the eBook in which Matheus describes each antipattern in simple terms and with code examples. If you are wondering why you should read this book, the answer is simple: it will help you with your TDD practice and writing quality code.
You have reached the highest level. You have completed the learning phases and we move on to the more complex katas. Remember that in the link of..
Our recommendation is that you first go through Object-Oriented Programming katas so that you can move on to more complex testing concepts. If so, we..
Once basic concepts such as conditionals, loops, and simple structures have been introduced and reinforced, and TDD has been strictly practiced, it's..
Join our newsletter for expert tips and inspirational case studies
Join our newsletter for expert tips and inspirational case studies