Часто ли вы видите в документации API (например, в "javadoc публичных функций" ) описание "ограничений по стоимости", а также классическую документацию?
Примечание: Я не говорю о комментариях в коде
Под "пределами значений" я имею в виду:
- может ли параметр поддерживать нулевое значение (или пустую строку или...)?
- имеет ли значение "возвращаемое значение" значение 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, они принадлежат друг другу или нет?