Member-only story
Test Driven Development (TDD): The Advantages and Disadvantages
Test — Code — Refactor — Test
# TDD
During my time as a software developer I have worked in contexts that use Test Driven Development (TDD). It is one thing to enjoy it (I did), it is another thing to be positively encouraged to engage in a process that increases the quality and maintainability of your work.
If you are looking at companies you might work for or with, their software development process is one indicator of how well they implement methodologies that makes their life easier. One red light for an interviewee is when a question about TDD is asked, but the interviewer has only a shaky idea of what that means in practice.
Red-Green-Refactor
The TDD process involves writing a Unit Test before code is written. For the developer this means you must know the behaviour of the code before any particular algorithm is written to solve a problem.
Part of the value of the TDD process is that the specification for the code must be known before work on that code is started.