DbC

ふ〜ん、知りませんでした orz
でも、よくよく見るとクラス設計とかする時は、こーしろあーしろと教えてくれた
上司が言ってたことだべや。

しかし何でもかんでも日本語訳するとイメージ掴みにくい…

契約による設計

今回は、C++ では実現しにくい面があるけれども、
 考え方としては非常に役立つと思われる開発手法を紹介する。

「契約による設計」 (Design by Contract、以下、DBC と略記) とは、 
もともと Eiffel*1 というオブジェクト指向プログラミング言語の設計者である 
Bertrand Meyer氏が提唱し、同言語に実装した概念であるらしい。 
同氏が設立した ISE という会社の Web サイトを見ると、なぜか、"Design by Contract" に、 TM が
付いていたりする。まあ、それはともかく。

DBC では、ある操作を実行するのに必要な条件や、 
操作を実行する前後で変わってはならない条件などを記述し、 
プログラムの実行時にその条件をチェックすることができる。 
こうすることによって、パラメータや戻値などの値の妥当性の保証について、 
呼び出し側と操作側とで、責任の所在を明確にすることができるのである。