Servletのインスタンス変数

StrutsのActionクラスを独自拡張した抽象クラスに、インスタンス変数が使用されてい
るケースをみかけることがよくあった。(使用しても問題ない場合もあるけれど、みか
けたケースは問題がある使い方をしていた。)
Servletは通常マルチスレッド-シングルインスタンスで動くので、こんな作りはダメな
んだけど、開発者がそういう作りにしたい気持ちも良く分かる。
一生懸命Javaを覚えて「継承を有効に活用しよう」とか言われて、一番有効に利用でき
そうなActionクラスで継承を活用してみたら、インスタンス変数を使っちゃいけません。
という落ちが待っている。
そして、このバグはテストじゃ発見が難しくて、コードレビューをしないと気付きにく
いという厄介な問題も抱えている。

よくみかけたということは、どこかに問題があるのだろう。
Javadocが悪いのか、Servletの仕様が悪いのか、それとも仕様を理解せずに開発を始め
る開発者が悪いのか・・・