Test-driven development
Test-driven development (TDD) is part of agile philosophy, and it appears to solve the common developer's problem that shows when an application is evolving and growing and the code is getting sick. The developers fix the problems to make it run but every single line that we add can be a new bug and it can even break other functions.
TDD is a learning technique that helps the developer to learn about the domain problem of the application they will build, doing it in an iterative, incremental, and constructivist way:
Iterative because the technique always repeats the same process to get a value
Incremental because for each iteration, we have more unit tests to be used
Constructivist because it is possible to test everything we are developing during the process straightaway so that we can get immediate feedback
Also, when we finish developing each unit test or iteration, we can forget it because it will be kept throughout the entire development process, helping us to...