私の関数の多くには、宣言のすぐ下に検証コードが大量に含まれています。
if ( ! (start < end) ) {
throw new IllegalStateException( "Start must be before end." );
}
特定の入力の有効な範囲を正確に指定したい - たとえば、a > B、C => 1 または str_d.length() > 0。
一部の関数には検証が必要な引数が非常に多いため、前提条件を検証するためだけに多くのボイラープレートを作成することになります。私は、主に技術者以外の開発者が使用するライブラリを作成しています。関数入力を検証することが、ユーザーが API を正しく操作できるようにするための最良の方法であることがわかりました。エラーが発生するのが早ければ早いほど、お客様がしなければならない作業は少なくなります。
私の方法で事前条件、事後条件(およびおそらく不変条件)を指定するためのよりエレガントな方法はありますか?
同僚が Eiffel プログラミング言語の機能について教えてくれました。これにより、多くのボイラープレート コードを繰り返さずに、前/後/不変の条件を非常に自然な方法で記述できます。この魔法の一部を使用できる Java 言語へのアドオンはありますか?