書籍情報
Javaについての本です。HOWとWHYを重視した本ですね。
書籍紹介ページ:http://www.ascii.co.jp/books/detail/4-7561/4-7561-4204-4.html
ASCIIの正誤表ページ:http://www.ascii.co.jp/books/support/4-7561-4204-4/errata/
ASCIIの追加情報ページ:http://www.ascii.co.jp/books/support/4-7561-4204-4/supplement/
おまけPDFは校正完了前のおまけなので正誤表については省略します
タイポ、書き間違え、ペーストミスなど
p.168 下から2行目
- 誤)そのもの検査であるを==
- 正)そのものの検査である==
p.217 先頭の囲み
- 誤)
java -Dorg.xml.sax.driver=org.apache.crimson.parser.XMLReaderImp BySax2 ...
- 正)
java -Dorg.xml.sax.driver=org.apache.crimson.parser.XMLReaderImpl BySax2 ...
p.228 リスト4-8
- 誤)encodingがUTF-8になっている。
- 正)リスト4-7を実行したのなら、encodingはshift_jisになります。
- 補足)ちなみに、リスト4-7についてはIANAの文字集合名であるWindows-31Jは使用できません。Crimsonの場合、XML宣言のencodingには"Windows-31J"と入りますが、中身はUTF-16が実体参照で出力されてしまいます。またそれとは別に、XML宣言のencoding属性としてWindows-31Jを設定したWindows-31JのXML文書をIE6に読ませると、「指定したエンコードはシステムでサポートされていません」というエラーを表示します。すなわち、Javaで出力できず、仮に出力できてもIEで処理できません。少なくても2003年1月現在では。
p.199 DbCの囲みについて
class invariantsというのは、そういう意味ではないだろう、と言われたら返す言葉もありません。確かに、あれではpreconditionです。むしろ1番最初に出てくる例がclass invariantsの検証例です。
- (3/16)先頭のバッファの存在チェックは正当なclass invariantsの表明で、最後のbufferのposition、limitの検証はpostcondition(別のメソッドでは変更されて終了する可能性があるので、クラスの不変条件では無い)だというのが正しいので、上のは2重に間違いでした。
- また、DbCについて返値を含めもっと良い例が考えつかなかったのか、と言われたら返す言葉もありません。(3/16)これは、Javaのメソッドでエラー時に負値を返すってのは有り? という点について。上記のようにbufferの位置チェックがpostconditionなので、敢えて非標準的な戻り値でエラーを示すという例を使う必要はなかったね、という意味です。
- しかし、書かれた精神において、本質を外しているわけではありません。この場合、重要なことは、メソッドの最初と最後にその仕様をアサーションとして記述するという点です。したがって、より良いサンプルは日々の実践から求めてください。
p.343 16行目 (3/16)
- 誤)として実装されていますす。
- 正)として実装されています。
戻る
Copyright(c) 2003 arton under GPL2
Last modified: Sun Mar 16 22:29:47 LMT 2003