Re: Dear Coders - Rules You Learned in Kindergarten
Reasonable advice, but now sadly impractical. Software is too heavily layered, with layers being written by different people in different organisations, and no-one uses return codes any more - too cumbersome. It's all event driven, error conditions by exceptions, and throw in some concurrency and epic locking for good measure too.
So the flow of control within a complex product running against complex inputs is nearly unknowable. And remember: modern browsers are complex: a VM, a database, a fully customisable UI and more. Hard to test if it didn't have external connections: add the Internet and it becomes impossible to test fully.
We probably need entirely new languages (not based on C in any way - the lessons it taught aren't good any more) to enforce very detailed contracts by design - far more that the current 'n must be a positive integer' style we have now.