在阅读C代码时,我经常会遇到如下语句:
int rc = foo(bar,baz);
断言(rc!= NULL);
其中变量rc
用于检查函数的返回值。我认为它是某种形式的助记符,但无法推断其含义。
我想知道它的含义,以帮助我理解代码。
答案 0 :(得分:12)
我认为这是“返回代码”。主要用于引用0/NULL or 1
形式的整数返回码。
答案 1 :(得分:10)
rc
代表“大头菜砂锅”。什么?你不这么认为吗?!
事实上,没有人可以说这是什么意思,因为C代码中没有强制命名。它可以代表“返回代码”或“远程控制”或者当时作者在脑海中的任何东西。
我想知道帮助理解代码
的意思
你的论点本质上是有缺陷的。如果您想更好地理解代码,请确保阅读所使用函数的文档和来源,绝不相信函数名称或数据类型优先于代码实际执行的操作。
编辑以解决评论:
实际上,我认为你的论点存在缺陷,迈克。如果说知道常用的变量名不会帮助你理解代码是荒谬的,尽管事实上他们并没有强制要求。例如,众所周知,我通常使用(但未强制要求)作为跨所有语言的循环增量变量。
这是一个公平的论据,说人们往往会遵循变量名称。我们会看到ret
或rc
作为返回值或返回代码,我们经常会看到单个变量a
,b
,c
,. ..,i
,j
,k
,用于循环运算符。然而,基于名称做出关于变量做什么的假设是一个可怕的想法。
你不仅可以假设变量代表什么是错误的(例如欧姆定律函数中的简单i
可能很好地选择代表当前的名称,与循环无关)但是对你来说有意义的可能也不是作者有意义的。
例如,作者有一个变量int return_code
。您可能会认为它将包含函数的返回代码,但也许它用于检查您正在评估的函数中的函数的返回值以及变量int r
而是用于返回代码。
假设您看到变量count
将成为循环迭代器,或者是多个文件的计数,还是计数信号量?
所以,克里斯雷德福,我必须恭敬地不同意。说知道常用的变量名称无助于理解代码并不是荒谬的,因为它不会比阅读代码本身做得更好,并且可能会引导你走上一条思考你的迷路知道你什么时候发生了什么。
如果你理解源代码,你会看到return xxx;
或for(int yyy=0;
,你不必假设这些变量是什么这样做,你肯定会知道,这是 唯一的 方式,可以保证你知道发生了什么。
答案 2 :(得分:3)
我猜“结果代码”,但这只是猜测当然。
答案 3 :(得分:2)
它通常意味着“返回代码”或“结果代码”,尽管它基本上可以代表作者的意图。作为命名惯例,它并不是那么好。我的意思是,它比myVariable
好,但不是很多。
我赞同变量名称应该有意义的想法,而rc
并不是非常有意义。如果它意味着“结果代码”,那么我的问题是“是什么的结果?”返回代码指定什么?