したがって、これはもう 1 つの「優れた」プログラミング練習問題です。少し調べてみましたが、このようなものは、ほんの数語で定義するのが難しいことがよくあります.
質問に対して: 専門的な観点から、コードを合理化して短くする (必ずしも効率的であるとは限りません) か、インスタンス変数を明示的に定義してそれらを割り当ててすぐに返す方が良いプログラミング方法ですか? 例えば:
FILE * foo(){
FILE * retVal;
foo2();
retVal = foobar();
return retVal;
}
foobar
上記から、が a を返すことがすぐにわかりますFILE *
。したがって、このスタイルのプログラミングから、重要な情報をより迅速に抽出できます。これは、次のようなものと比較して当てはまります。
FILE * foo(){
foo2();
return foobar();
}
もちろん、これは同じことを達成します。ただし、同じ情報を見つけるには、より深く調べる必要があります。私は単純に見栄えが良いという理由で、後者のスタイルのプログラミングを好む傾向があります。このプログラムの実行方法の性質上、どちらを選択してもメモリが必要なため、どちらを使用してもすぐにパフォーマンスが向上するとは思えません。違いは、ユーザーまたはコンパイラがメモリを割り当てるかどうかです。
コードを短く簡潔にする別の例:
int foo(){
int i = 0;
while(foobar())
i++:
return i;
}
TL:DR 質問>> 何が行われているかを明示的に示した方が良いですか、それとも簡潔さと簡潔さを優先して、同じタスクを実行するが必ずしもパフォーマンスが向上しないコードを短くしても問題ありませんか?