「ライブラリ」タイプのクラスを作成する場合、常にマークアップドキュメント(つまりjavadoc)をJavaで作成するか、コードを「自己ドキュメント化」できると想定する方がよいでしょうか。たとえば、次のメソッドスタブがあるとします。
/**
* Copies all readable bytes from the provided input stream to the provided output
* stream. The output stream will be flushed, but neither stream will be closed.
*
* @param inStream an InputStream from which to read bytes.
* @param outStream an OutputStream to which to copy the read bytes.
* @throws IOException if there are any errors reading or writing.
*/
public void copyStream(InputStream inStream, OutputStream outStream) throws IOException {
// copy the stream
}
javadocは自明のようであり、機能がまったく変更された場合に更新する必要があるノイズです。しかし、ストリームをフラッシュして閉じないことについての文章は価値があるかもしれません。
したがって、ライブラリを作成するときは、次のことを行うのが最適です。
a)常に文書化する
b)明白でないものはすべて文書化する
c)文書化しない(コードはそれ自体を語る必要がある!)
私は通常b)を使用します(コードは他の方法で自己文書化できるため)...