20

C コードを読んでいると、次のようなステートメントに出くわすことがよくあります。

int rc = foo(バー、バズ);
assert(rc != NULL);

ここで、変数rcは関数の戻り値をチェックするために使用されます。ある種のニーモニックだと思いますが、その意味を推測することはできません。

コードを理解するのに役立つ意味を知りたいです。

4

4 に答える 4

20

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

于 2013-02-26T14:26:41.637 に答える
10

rc「ルタバガキャセロール」の略。何?そう思わない?!

実際のところ、C コードには義務付けられた名前がないため、これが実際に何を表しているのかは誰にも言えません。それは、「リターン コード」や「リモート コントロール」など、作成者がその時点で頭の中に持っていたものを表すことができます。

コードの理解を助けることの意味を知りたい

あなたの主張には本質的な欠陥があります。コードをよりよく理解したい場合は、使用されている関数のドキュメントとソースを必ず読んでください。関数の名前やデータ型が、コードが実際に行っていることよりも優先されるとは決して信じないでください。


コメントに対処するために編集します。

実際、あなたの議論には欠陥があると思います、マイク。義務付けられていないにもかかわらず、一般的に使用される変数名を知っていてもコードの理解に役立たないというのはばかげています。たとえば、i がすべての言語でループ インクリメント変数として一般的に使用されていることはよく知られています (ただし、必須ではありません)。

人々が従う傾向のある変数名が実際にあると言っても過言ではありません。戻り値または戻りコードについてretorが表示されます。ループ演算子に使用される単一変数, , ,..., , ,が頻繁に表示されます。しかし、名前に基づいて変数が何をするかを推測するのはひどい考えです。変数が何を表しているかについての仮定が間違っている可能性があるだけでなく (たとえば、オームの法則関数の単純なものは、現在を表すために選択された名前である可能性が高く、ループとは関係ありません)、あなたにとって意味のあるものはそうではない可能性があります著者にとって意味のあること。たとえば、著者には変数がありますrcabcijk
i

int return_code. 関数の戻りコードを格納すると仮定するかもしれませんが、評価している関数内で呼び出された関数の戻り値をチェックするために使用されており、代わりに変数int rが戻りコードに使用されている可能性があります。
変数countがループ反復子になるか、ファイル数のカウントになるか、カウント セマフォになるかがわかるとしましょう。

では、クリス・レッドフォード、私は丁重に反対しなければなりません。よく使われる変数名を知っていてもコードを理解するのに役立たないと言っても過言ではありません。なぜなら、コード自体を読むよりも良いことは何もないからです。本当にしないでください。
ソース コードを理解している場合は、これらの変数が何を行っているかを確認するか、仮定する必要はありません。これが、何が起こっているかを確実に把握できる唯一のreturn xxx;方法ですfor(int yyy=0;

于 2013-02-26T14:59:22.677 に答える
4

多くの場合、「戻りコード」または「結果コード」を意味しますが、作成者の意図に応じて、基本的には何でも意味します。命名規則が進むにつれて、それはそれほど素晴らしいものではありません。つまり、 よりも優れていますがmyVariable、それほどではありません。

私は、変数名は意味のあるものであるべきであり、それほど意味のあるものではないという考えに同意します。rc「結果コード」を意味する場合、私の質問は「の結果ですか?」です。戻りコードは何を示していますか?

于 2013-02-26T14:46:14.003 に答える
3

「結果コード」を推測しますが、もちろん推測にすぎません。

于 2013-02-26T14:25:30.323 に答える