最近関わっているプロジェクト(VB.NETで開発しています)では、
いろいろなプログラムが頻繁に使用するモジュールを修正する、
ということが多くなってきました。
画面のプログラム内のモジュールを修正する場合には、
あまり意識しなかったようなことまで、いろいろと考えさせられます。
一番悩むのが、引数を追加しなければならないような修正です。
さほど引数が多くない関数であれば、後ろにOptionalで追加すれば良いのですが、
既にOptionalもかなりの数がある関数や、いくつもオーバーロードされているような関数の場合、
さて、私はどのように修正すれば最適だろうか?と悩みます。
方法としては、次のようなことが考えられます。
1.(更に)Optionalで引数を増やす。
2.(更に)オーバーロードする。
3.関数名を変更して、最適なものを作る。
同期や、先輩にいろいろ話を聞いたのですが、
やはり、そのときの修正内容にもよるし、個人の好みにもよるというような話でした。
私の場合は、Optionalの数が多いと、後々、渡している引数が一体何なのか
分かり難くなるため、あまりにも引数が多い関数であれば、
2か3を選択します。
既にオーバーロードがいくつもされているような関数が、
一番悩むのですが、その場合、3を選択することが一番多いです。
その理由は、一体何のための修正だったのか、どのパターンのときの処理なのか、
関数名を見れば、一目でわかるからです。
どのような場合でも、
私以外の人が、後にプログラムを見たときに、
一番分かりやすいような修正をしよう、と心がけて、方法を選択するようにしています。
しかし、実際、どのように書くのが一番良いのか、、、
方法を決定してからも、悩むこともあります。
これからも経験を積み、判断材料を増やしていこうと思います。
コメント (1)
呼び出し先に通知せず、Optionalつかっちゃうお馬鹿さんがいるから困り者ですね。
呼び出し先もリコンパイルしないと動かなくなりますよ(笑)
投稿者: 無知は悪 | 2007年12月31日 00:39