« プログラマーの確認事項 | トップページ | 新しい道 »

2008年9月24日 (水)使い方は?

おはようございます。本日の当番、プログラマーのT.Hです。

さて皆様、プログラムにおける関数の作成に置いて重要なこととは何でしょう?
処理速度?
汎用性?
当然それらも重要だと思います。
しかし、最も重要視すべきはインターフェースの容易さではないかと思います。

関数とは便利なものです。
同じ処理を作成する必要がなくなりますし、新しく作成するよりもバグの心配が少なくなります。

故にそれを使用するのは作成した本人だけとは限りません。
となると、誰が見てもわかりやすく誰でも使用できる形が理想となります。

プログラムの規模が大きくなっているこのご時世。
これらを軽視してしまいますと・・・
・指定する引数の数が多いとか
・使用するまでに一定の手順を踏まなければならないとか
・ことあるごとに引数が追加されるとか

という関数が出来てしまいます。

結果的に・・・
・使い方がわかりづらく混乱する
・使い方を間違える
・作った人に対しての怒りが沸いてくる

などなど、良いことなんて一つもありません。

僕の場合よくやってしまいがちなのは、手順が複雑になってしまうパターンです。
例えば・・・

 Flush();
 Begin();
 Reset();
 index = Convert(id);
 data = Get(index);
 data->Draw(x, y, uv, color, tex); ←これが目的の関数
 End();

ご覧の通り目的の関数を1発で呼べません。
しかも手順を間違えると正常に動かないというオマケ付き。
こんな関数だと使う側も鬱になってしまいますよね・・・

・・・えぇ、怒られましたともいろいろなところから。 orz

このようなことにならないように、必要な処理を洗い出し、取捨選択、細分化
同じ処理でまとめられる場合はまとめなどちゃんと設計してあげましょう。
すると皆が少しずつ幸せになれます。

どうしても複雑な関数が生まれてしまいがちですが上記のことを念頭に置いておくと別の良い方法が見つかるかもしれません。




僕もがんばります。 orz

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2008/09/post-aa65.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« プログラマーの確認事項 | トップページ | 新しい道 »

プログラマー」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 使い方は?:

« プログラマーの確認事項 | トップページ | 新しい道 »