From: "conundrum /" <conundrum / hotmail.co.jp>
Subject: [ruby-list:41032] RubyにはPerlのuse strictのようなものはありませんか?
Date: Sun, 14 Aug 2005 13:56:57 +0900

るびきちです。

> RubyにはPerlの use strict のようなものは、ありませんか。

んー、Rubyは動的な言語なので「とりあえずメソッド呼んでみろ」というスタ
ンスをとっていると思います。静的言語に慣れているのならば、自前で型チェッ
クするのが現実的なのではないでしょうか?

def square(x)
  raise TypeError unless Numeric === x
  x**2
end

> 自分、メソッド名や変数名のtypoが多くて、動かすまでそれがぜんぜんわかんなく

typoを防ぐには、エディタのdabbrevを使うのがおすすめです。dabbrevという
のはdynamic abbreviationの略で、編集中のバッファ及び全てのバッファから
接頭辞にマッチするものを補完してくれるすばらしい機能です。日本語では
「動的略称展開」です。dabbrev機能がないエディタをお使いでしたら、いっ
そのことエディタを乗り換えてしまったほうがいいです。

さらに、Test::Unitを使って単体テストを書くことです。メソッド単位でテス
トを書いてしまえば、typoしてしまったときテストレベルで検出できます。お
まけに徹底した自動テストによって自分のプログラムの品質が飛躍的に向上し
ます。テストを書くのは、メソッドの中身を記述する前がおすすめです。幸い
Rubyはコンパイルなしにさっと実行できるので、TDD(Test-driven
development「テスト駆動開発」)をしやすいです。

単体テストを記述することを面倒だと思わないでください。人手を媒介せずに
完全に自動化されたテストを記述するのは、慣れるまでは大変かもしれません。
しかし、テストにかけた時間はそのプログラムのメンテナンスにかかる時間の
減少という形で返ってくるのです。

るびきち☆
http://www.rubyist.net/~rubikitch/