- Event Driven code is not hard; stop complaining you whiner!
- Simulating non-blockingness just papers over how dramatic IO is.
- Code correctness and Resource contract testing is the Right Thing(tm).
z = x + yor even
a1 = sort(a2). If it is so different in time to execute, then it shouldn't be represented as just-one-more-line-of-code.
4 boils down to two parts. One, your basic APIs do what is expected. And Two, your components implement mutually agreed upon contracts. One and Two are easy to test, and they expose the real source of the remaining bugs: Design flaws.
Here is a table I found.