2013-02-26 19 views
8

Cコードを読み取る場合、私はしばしばなど文に遭遇:関数の戻り値の `rc`はどういう意味ですか?

INT RC = FOO(バー、バズ)。
アサート(rc!= NULL);可変rcは、関数の戻り値をチェックするために使用される

。私はそれがある種のニーモニックだと思うが、その意味を推論することはできない。

コードの理解に役立つ意味を知りたいと思います。

+0

私、私は退屈で、推測の頭字語の代わりに変数 "結果"の名前をつけています。 – Lundin

+3

コードを理解するために変数の名前を理解する必要はありません。このコードを理解するために、 'foo()'が何であるか、理解し、返す関数を理解する必要があります。コードが何をするかを説明するために、戻り変数の名前を決して信用しないでください。 – Mike

答えて

9

「リターンコード」だと思います。ほとんどの場合、0/NULL or 1形式の整数戻りコードを参照するために使用されます。

3

私は "結果コード"を推測しますが、それはちょうど当然の推測です。

+1

結果コードまたは戻りコード。 – Joe

2

「リターンコード」または「結果コード」を意味することはよくありますが、基本的には著者が意図した内容に依存します。命名規則が進むにつれ、それほど大したことはありません。つまり、それはmyVariableよりも優れていますが、全体ではありません。

私は、変数名はが意味のあるであり、rcは非常に意味がありませんという意見に同意します。 "結果コード"を意味する場合、私の質問は "の結果は何ですか??"リターンコードは何を指していますか?

9

rcは、「ルタバガキャセロール」の略です。何?あなたはそうは思わない?

Cコードには必須の名前がないので、これが本当に意味するものは誰も言うことはできません。 「リターンコード」や「リモコン」、または当時の著者の頭にあったものを表すことができます。

私はあなたの引数は、本質的に欠陥があるコード

の私の理解を助けるために意味を知っているしたいと思います。コードをよりよく理解したい場合は、使用されている関数のドキュメントとソースを必ず読んでください。関数名やデータ型がコードの実際の動作に優先するとは決して信じられません。


編集コメントに対処するために:

を実際に、私はあなたの引数はマイク、欠陥があると思います。一般的に使われている変数名を知っていても、それらが強制されていないにもかかわらず、コードを理解する助けにならないと言うのは不合理です。たとえば、iはすべての言語でループインクリメント変数として一般的に使用されています(しかし必須ではありません)。

実際に人々が従う傾向がある変数名があると言うのは公正な議論です。戻り値または戻りコードとしてretまたはrcが表示されますが、多くの場合、単一の変数a,bc、...、ijkがループ演算子に使用されます。しかし、名前に基づいて変数が何をするかについての仮定をにすることはひどい考えです。
変数が間違っていることを前提にしているだけでなく(たとえば、オームの法則関数の中の単純なiは、現在のものを表すために選択された名前でもよく、ループとは関係ありません)著者には意味をなさないものではありません。

例として、変数int return_codeがあります。関数の戻りコードを格納すると仮定しているかもしれませんが、という関数の戻り値を確認するために使用されている可能性があります。が代わりに戻りコードとして使用されます。
変数countがループイテレータまたは数多くのファイルのカウントになるか、またはカウントセマフォであることがわかりますか?

だから、クリス・レッドフォード、私は正直に反対する必要があります。一般的に使われている変数名を知っているとコードを理解するのに役立たないと言うのは不合理ではありません。かもしれないあなたは何が起こっているかを考えて迷路を導きますあなたが本当にしないとき。あなたがソースコードを理解していれば
あなたはreturn xxx;for(int yyy=0;を参照してくださいよ、あなたはそれらの変数が何をしているかについての仮定をする必要はありません、あなたは確かに知っているよ、それはあなたが知っていることが保証されるだけの方法です何が起こっていますか。

+0

非常に良い点! – favoretti

+0

ポイントを獲得しました。私は異なる作家のコードでそれを見てきましたので、私はそれが何らかの形式のものであると仮定しました。また、わかりやすい変数名を使用してコードを理解しやすくするのがよい方法です。だから私は_my_引数に欠陥があるとは思わない。 – krm

+1

実際、私はあなたの議論に欠陥があると思う、マイク。一般的に使われている変数名を知っていても、それらが強制されていないにもかかわらず、コードを理解する助けにならないと言うのは不合理です。例えば、「i」は、すべての言語にわたってループインクリメント変数として一般的に使用される(ただし必須ではない)ことはよく知られている。ある言語やアプリケーションで 'i'の使用法を学んだら、その言語やアプリケーションでのその使用を容易に認識し、コードをより迅速に理解することができます。 –

関連する問題