Book Image

Agile Technical Practices Distilled

By : Pedro M. Santos, Marco Consolaro, Alessandro Di Gioia
Book Image

Agile Technical Practices Distilled

By: Pedro M. Santos, Marco Consolaro, Alessandro Di Gioia

Overview of this book

The number of popular technical practices has grown exponentially in the last few years. Learning the common fundamental software development practices can help you become a better programmer. This book uses the term Agile as a wide umbrella and covers Agile principles and practices, as well as most methodologies associated with it. You’ll begin by discovering how driver-navigator, chess clock, and other techniques used in the pair programming approach introduce discipline while writing code. You’ll then learn to safely change the design of your code using refactoring. While learning these techniques, you’ll also explore various best practices to write efficient tests. The concluding chapters of the book delve deep into the SOLID principles - the five design principles that you can use to make your software more understandable, flexible and maintainable. By the end of the book, you will have discovered new ideas for improving your software design skills, the relationship within your team, and the way your business works.
Table of Contents (31 chapters)
Free Chapter
1
Section 1
7
Section 2
13
Section 3
19
Section 4
25
Chapter 21
28
License: CyberDojo

Three Methods of Moving Forward in TDD

So, you have written your first test, and it is failing for the right reason. Now what? How do you make it pass (make it green)? There are a few simple ways to achieve this.

From Red to Green

  1. Fake it

Just return the exact value you need. If your test expects a zero from a method, simply do it. Usually, you use this when you are unsure about how to implement a specific functionality, or your previous steps were too significant, and you cannot figure out what went wrong. Something that works is better than something that doesn't work!

  1. Obvious implementation

When you are sure of the code you need to write, write it, and see the test go green! Most of the time, you will use this method to move forward with TDD quickly.

  1. Triangulation

When you want to introduce new behavior, write a new and more specific test that forces the code to be more generic (triangulation equals using tests as pivot points...