API ドキュメント (「パブリック関数の javadoc」など) で、従来のドキュメントと同様に「値の制限」の説明をよく目にしますか?
注:コード内のコメントについて話しているのではありません
「値の制限」とは、次のことを意味します。
- パラメーターは null 値 (または空の文字列、または...) をサポートできますか?
- 「戻り値」はnullになる可能性がありますか、それともnullにならないことが保証されていますか(または「空」になる可能性がありますか...)?
サンプル:
私がよく目にするのは(ソースコードにアクセスできない場合)次のとおりです。
/**
* Get all readers name for this current Report. <br />
* <b>Warning</b>The Report must have been published first.
* @param aReaderNameRegexp filter in order to return only reader matching the regexp
* @return array of reader names
*/
String[] getReaderNames(final String aReaderNameRegexp);
私が見たいのは次のとおりです。
/**
* Get all readers name for this current Report. <br />
* <b>Warning</b>The Report must have been published first.
* @param aReaderNameRegexp filter in order to return only reader matching the regexp
* (can be null or empty)
* @return array of reader names
* (null if Report has not yet been published,
* empty array if no reader match criteria,
* reader names array matching regexp, or all readers if regexp is null or empty)
*/
String[] getReaderNames(final String aReaderNameRegexp);
私のポイントは次のとおりです。
getReaderNames() 関数を含むライブラリを使用する場合、多くの場合、その機能を推測するために API ドキュメントを読む必要さえありません。しかし、私はそれを使用する方法を確認する必要があります。
この関数を使用するときの私の唯一の懸念は、パラメーターと戻り値に関して何を期待する必要があるかということです。パラメータを安全に設定し、戻り値を安全にテストするために知っておく必要があるのはこれだけですが、API ドキュメントでそのような情報を目にすることはほとんどありません...
編集:
これは、チェックされた例外またはチェックされていない例外の使用に影響を与える可能性があります。
どう思いますか ?値制限とAPI、それらは一緒に属しますか?