Ok, I just found the best site I’ve stumbled across in a long time.
Excellent job guys and mad respect for giving this issue it’s very own online site/campaign. Join me and the many others to move the community in a positive direction. BTW, I found this indirectly on a great post about the subject by elegantcode.com.
If you don’t remember, I disscussed this a while ago with What-if if is evil? But I would be remiss to avoid mentioning that the if keyword is not the only way to write branches in your code. There are plenty of other keywords (switch, while, try/catch) that can produce the same issues. The idea should be to create functions/methods with the fewest code-paths as possible. This creates code that behaves more consistently, predictably, and is easier to read and test. This is especially important when writing code in a Form or ASP code-behind.