例えば、次のように計算と表示が分かれていない関数がある。
int calc(uint16 a, uint8 view) { int = foo + a; if (view != 0) { //引数viewで表示・非表示を制御 display(hoge); } return hoge; } int main(void) { calc(10, 0); //計算のみで表示しない calc(10, 1); //計算した上で表示する }
本来計算のための関数 calc() に表示までさせると関数の役割が分かりにくくなる。calc() は計算だけをさせ、display() を呼ぶか呼ばないかは呼び出し元で決めるべきだろう。
int calc(uint16 a) { return foo + a; } int main(void) { calc(10); //計算のみで表示しない display(calc(10)); //計算した上で表示する }