2009-06-17 7 views
0

私は2つの別々の関数bar()とfoo()を持っています。以下のようになって私のプログラムの実行フロー: - >バー() - >のfoo() -モジュール式ブロックデザイン

入力>出力現在

は、同じ開発チームでの私のチームメイトは)(FOOを作りましたbar()関数の中で呼び出すと、モジュール性の設計が破棄されました。たとえば、modular designの観点からは、bar()やfoo()の呼び出しをprocedure()というラッパー関数でラップする方が良いでしょうが、プログラムスタックに余分な関数オーバーヘッドを追加するというコストはかかりますか?プロシージャ関数を次のようにカプセル化する予定です。

procedure(inputs) 
{ 
    bar(); 
    foo(); 
} 

アドバイスを事前にお寄せいただきありがとうございます。

答えて

2

関数呼び出しのオーバーヘッド(特にローカル変数はほとんどありません)は非常に小さく、考慮する価値はありません。さらに、適切なコンパイラを使用することで、必要に応じてインラインでコールすることができます。私はいつも良い設計が最優先事項であるべきだと信じてきました。なぜなら、良いデザインから得られる全体的な効率は小さなものを最適化し、スパゲッティの混乱を残すよりも良いことが多いからです。

+0

ご意見ありがとうございます。それはまた、私の本能が最善の決定という点でも言います。 – stanigator

関連する問題