11/09/10 20:25:14.21
>>568
個人的な考えで回答します。
基本的に、引数として渡す方がプログラムが見やすいと思います。
見やすいということが非常に大切です。
モジュールとしてまとめてしまうと、別の場所(そのサブルーチンとは離れた場所)に
宣言が書かれることになるため、変数が何を意味しているのか、そのサブルーチン独自の
変数なのか、などがぱっと見てわかりにくくなる恐れがあります。
特に、大規模なプログラム、サブルーチン毎に一つのファイルに分けているような
場合には、そのように感じます。
ただ、引数として並べたときに数行になってしまうくらいに引数が多い場合には、
モジュールを利用した方がいいかもしれませんが、その場合でも、サブルーチンを
呼び出すごとに変化するような変数は引数として渡した方がいいでしょう。
一方、全プログラムが一つのファイルに収まってしまうくらいに小規模なものは、
サブルーチンを一つのモジュールの中に入れてしまう方がいいでしょう。ただし、
その場合でも、なるべく引数を使って渡す方がいいと思います。