"In this world nothing can be said to be certain, except death and taxes."
Software developers have a third certainty. Bugs.
Regardless of experience and skill level, all developers introduce bugs into their code. The longer these bugs fester, the more expensive the consequences of them become. So to improve the quality of our software we need to find bugs fast, ideally before they even end up entering the codebase.
This talk is aimed at beginner to intermediate level software developers. It introduces the concepts: type hints, assertions and value objects.
We'll then look at how these techniques can be combined with modern IDEs to:* reduce the chance of introducing bugs* minimising the cost associated with any bugs that do slip through the net* safely refactor code so we can rename classes, methods and variables to be more explicit