At 11:23 PM 98.10.23 +0900, Takashi Nakai wrote: : ---------------------------------------------- : matz / netlab.co.jp (Yukihiro Matsumoto) さんは書きました: : >まつもと ゆきひろです : > : >それはそれとして,大規模プログラムを支援するような推奨するべ : >きスタイル(で機械的に検出できるもの)が他にもしあれば,それは : >どのようなものかということに興味はあります. : ---------------------------------------------- : : Ruby とは、馴染まない(と思う)のですが、自分の中での : 有効な手段は : : ・型チェック : ・ASSERTマクロ(C とかで使いますよね assert( 0 < n );とか) : : です。(ASSERTマクロは実行時にならないと有効ではないのですが) 咳といいます。 Ruby にはそぐわないかもしれませんが、assertion 欲しいなと思います。 Eiffel の表明の全てとはいかなくても せめて pre-condition と post-condition だけでもあると良いなぁ。 # 型のない言語(?)だからこそ pre-condition が欲しいのかも… Ruby ではない別の言語になってしまうのかもしれません。 それから、ブラウザ?が欲しいと思うことがあります。 私はどんなメソッドがあるのか覚えられないので Ruby の sample/eval.rb を起動して ruby> "abc".methods ["squeeze!", "to_s", ....] などとして調べています。 methods でメソッド一覧を取り出せるように、 メソッドの引数や、コメントなどが取り出せたら 良いなぁ。 たとえばこんな感じ… ruby> class Foo ruby| def hello(s) ruby| =begin ruby| say hello. ruby| =end ruby| print s, "\n" ruby| end ruby| end nil ruby> f = Foo.new ruby> f.description('hello') ["def hello(s)", "say hello."] はじめの話の表明が使えれば事前条件、事後条件も参照できたりして。 まとまりのない話を読んでくださってありがとうございます。 おしまい -- せき@大田原市民