事前確認が保障されているものと保障されていないもの
上記で書きましたが、確実に事前確認を行えるものの方が非常に少ないんです。
事前確認が保障されるのは local の private memory のみ。Multi thread 環境下ではその上で lock したもののみ。
この原則を抑えておけばどこで事前確認を行わなければいけないかが簡単にわかるでしょう。
ASP.NET2.0 クライアントサイドJavaScript
こうゆう質問がありましたが、この原則を抑えていればどこで確認しないといけないか?は自ずとわかるはずです。
それ以外の確認では、失敗の可能性および脆弱性に繋がる bug の発生を生む可能性があることを認識してください。
確実性を求められないものに関しては、事前確認を行ってもよいですがそれはあくまで tuning です。教える側もこれは tuning だとちゃんと明記して教えるべきだと思います。