- Tests should be kept clean/are just as important as the production code.
If tests aren't clean, they become hard to add to == you'll eventually
stop adding tests because its too hard == you can't test new production code
== you won't want to change production code because every addition is a possible
bug == your entire codebase rots.
- Tests should run relatively fast, otherwise you wont want to run them
as often, hence you don't catch bugs as quickly. On the other side, they
don't have to be as fast as production code so don't be afraid to sacrifice
some performance for readability.