miau's blog?

DbC とか

以前「今のプロジェクトでは DbC っぽいことが行われてそう」と書いたんですが・・・これが結構微妙っぽいです。

・事前/事後条件と不変表明が関数に対して記述されている
 DbC ってもともとオブジェクト指向を前提とした考え方だと思うんですけど。
 まぁシステム全体をオブジェクトと捉えれば一応理屈は通るのでセーフ?

・事後条件で「○○されること」というような処理内容を書いている
 事前条件とか事後条件ってのは動作に対してでなく状態に対して書くべきなんじゃないかと思うんですが。
(例えば事後条件に「ログが出力されること」とか書いてあったりするのですが、これは「ログが出力されていること」と書くべき)
 
 まぁ酷いものだと不変表明に「関数を何度呼び出しても正しく処理が行われること」なんて書いてあるので論外なんですけど。
 その「正しい」ってのを規定するために条件とか表明とかしてるんでしょうに。

・ドキュメントの「処理内容」部分に事前条件のチェックが含まれている
 暗黙的に行われるべきことなので記述する必要ないと思うんですけど。
 そもそも DbC って「インターフェイスだけを規定する(処理内容を規定しない)ことでリファクタリングを容易にする」みたいな意図もありそうなんで、処理フローがドキュメントに含まれていること自体が問題なのかも。

・事前条件や事後条件をチェックする機構がない
 そういう機構がないと、エラーを検出できないのでまずいと思うんですけど。
 言語レベルでは実装できないので、コーディングルールとして。


・・・とかなんとか言いつつも、DbC に対する知識がほとんどないので自信を持って否定できないのが辛いとこです。
とりあえずこのへんのバイブルである オブジェクト指向入門 を読んでおきたくて、以前から探してるんですが・・・絶版なものでなかなか見つからず。
原著だったら買えるんですけど、原著では第 2 版が出てるので、買ってすぐに翻訳版とか出たら嫌だなー、ってことで手が出せなかったり。
久々に本屋めぐりでもしようかな・・・。


なんかだらだら続きますので注意。



で、どこかに在庫ないかなー、と探してたらいくつかネタみつけたので書いておきます。

技術書籍紹介 [オブジェクト指向を学ぶための入門書ガイド]

この説明を読んでなおさら本が欲しくなったりするのですが、
> 酒匂さんがまたその翻訳に取り組んでいますが、まだ当分は出版されそうもありません
なんて記述が。

おー?でも
> みなさんは安心して第1版の翻訳でさっさと(次の訳が出るまでの数年以内に)勉強してください。
なんてことも書いてある。数年ったっていつからだろ?

と思って酒匂さんの日記とか漁ってみると 1998 年の 4 月 翻訳の話が出たらしい。
数年ってことはそろそろ出てもよさそうなもんだけど。



検索中に 古くなっても名著は名著 : IT Pro 記者の眼 (たぶん登録必要)なんてのを見つけて、最近名著の類を読んでないのを思い出したり。
でもまぁ読める分量は限られてるので仕事に支障が無い範囲でちまちま読んでいきたいところ。
現在の優先順位は 速読>仕事>試験>その他 みたいな感じで結構明確になっているので、行動が決めやすい。いいことだ。



はてなダイアリー で「購入した」とか「注文した」とかなんとか書いてるひとが何人かいて。
どうやら bk1 にはまだ在庫があるっぽい?(以前「やっぱりありませんでした」とか言われたことあるので微妙)
でも八重洲ブックセンターでも「在庫希少」の表示だったのでより早く入手できる可能性があるこっちのほうでまず注文。
だれか引き取ってくれるひとがいるようなら二重に注文したいとこですけど・・・いますかね?



で、本日の教訓。
リアルタイムで文章書くと文章のまとまりが悪すぎる。気をつけよう。
posted at 05:23:53 on 2004-12-12 by miau - Category: General No Trackbacks - Permalink

TrackBack

このエントリにトラックバックはありません
現在トラックバックは受け付けていません。

Comments

No comments yet

Add Comments

現在コメントは受け付けていません。
お手数ですが、 こちら のコメント欄にでも記載していただければと思います。