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."]

はじめの話の表明が使えれば事前条件、事後条件も参照できたりして。


まとまりのない話を読んでくださってありがとうございます。
おしまい

-- 
せき@大田原市民