- ベストアンサー
関数化について【コーディング制約】
VB2005でプログラムを組む際にほとんどの処理を小分けにして関数化し、メイン関数を関数の呼び出しだけにしてもいいのでしょうか?プログラムの動作には関係ないとしても、コーティング制約?を考えると悩んでしまいます。皆さんはどうしていますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
関数化やクラス化などをどこで分けるかは、プログラマーの自由(というかセンス?)だと思います。チームを組んでいるのであればともかく、個人で書いているのなら好きなようにしてよいと思います。 私も関数化する時は、関数ひとつで数十行に及ぶときもあれば1行で済んでしまうこともあります。関数・メソッドの役割、処理の共通性、修正のしやすさなどを判断材料にしています。 メイン関数(VBだからSub Main()かな?)だからといって、そこに中枢コードを書かなければいけない、という決まりはないはずです。いきなり別関数に飛ばしてそこでメッセージループしたっていいわけですし。ただ、そうすることにどれだけの意味合いがあるか、ということが重要だと思います。 「コーディング制約」というのがいまいちピンとこないのですが、どういったものを指すのでしょう?
その他の回答 (2)
- Tasuke22
- ベストアンサー率33% (1799/5383)
関数化、昔の言葉で言えばモジュール分割、ですね。 これは、どのような価値を与えるか、ということで しょう。 修正のし易さ、テストのし易さ、エラーの起こり難さ、 そして分かり易さ、などがあります。 メイン関数で関数の呼び出しのみ。 これはドキュメント性に優れる可能性があります。 メイン関数で全体の流れがつかみ易い、といった類の ものですね。本で言えば目次に相当します。
関数の分け方は人によって違います。 細かく分ける、分けないはそれぞれ利点、欠点があります。 細かく分けると、再利用がしやすいですけど、 関数を呼ばないといけないのでその分処理が重くなります。 今のPCだとほとんど変わりませんけど。 細かく分けなければ、再利用が出来ない場合が増えてきますけど、 関数の呼び出しが少ない分処理が軽くなります。 好きな書き方でいいと思います。
お礼
回答ありがとうございます。 訂正------- すいません、「コーディング制約」ではなくて「コーティング規約」でした。 ----------- メイン関数に中枢コードを必ず書かなくてはいけないと思っていたので、とても参考になりました。