Imagine a venn diagram of your last software project. Consider three parts: what the code should do, what the code actually does and what the developers think the code does. The greater the overlap between all 3 of these the more successful and bug free your software is likely to be.
This talk examines how to increase this overlap. Specifically how to reduce the gap between what the code actually does and what the developer thinks the code does.We'll look at the importance of type hinting, assertions and things called 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 explicitBy the end of the talk you'll have picked up tips on how to write cleaner software with fewer bugs that does what it's supposed to do.