バリデーションはどの位置で必要か - サンプルコードによるPerl入門 バリデーションはアクセサメソッドの内部で行うのではなく、バリデーションの専用のモジュールを使用して、データを受け取った入り口で行うのがよいでしょう。 私はこれには反対です。アプリケーションにせよライブラリにせよ、原則としてすべての公開APIの入力値はバリデーションするのが望ましいと考えます。 すなわち、アクセサメソッドもそれがパブリックなAPIであればバリデーションをしたほうがいいと思います。 とはいえ以下の基本的な考え方に異論があるわけではありません。 データのバリデーションを行う主要な目的は、外部から入力されるデータが正しい値かどうかをチェックするためのものです。 問題は、どこまでを「外部からの入力」とみなすかということでしょう。私は、そのプログラム/ライブラリのパブリックなAPIが受け取る値はすべて「外部からの入