Over the years software industry has evolved a lot. We have seen gigantic upgrade in computer hardware and software have evolved and become more and more complex. It is more important now than ever before that software developers write excellent quality code as they are responsible for automating everything from nuclear missiles to air radar systems. It is important that we adapt to the best design principals and patterns that have been developed over the years as they will aid us in writing better software for our customers.
One of the most important aspect of TDD is writing unit tests that are more readable and maintainable. Lot of people fail with TDD because when they add more unit tests to the code, they don’t put the effort to make them more readable and maintainable. I have seen cases where adding an extra dependency to a class would mean that the developers needs to modify 100 tests where they were creating an instance of that class. This is a [...]