|
【求助】公司统一规定"{"必须放在行末,这很不习惯,我该怎么办?<br /><br /> 我是一名拥有多年嵌入式C语言编程经验的工程师。虽然不是专业的程序员出身,但是在代码书写规范上一直掌握得非常好!因为我曾经仔细研究过林锐博士的《高质量C++/C编程指南》一书(没看过该书的衷心地建议您买一本)。<br /> 这两年,公司规模不断壮大,规矩当然也随之多起来。规矩一多,自然会影响做事效率。<br /> 最近上面下发了一个新通知,要求所有工程师都必须执行公司内部的《C/C++编程规范》。很不幸,我不是该《规范》的制定者,而是被执行者。公司规模扩大后,出这么一个东西的重要意义显而易见,林锐博士的书中也有详细论述。这个我不但不反对,而且完全赞成。只是对其中的某些“规范条款”觉得不是很合适。其中对我今后编程影响最大的就是左花括号“{”问题了。<br /> 公司《规范》规定:左花括号“{”必须放在一行的末尾,例如函数、if/for/while/switch语句,等等;右花括号“}”必须与函数名、if/for/while/switch的首字母对齐。举个例子:<br /><br />int Max(int iX, int iY) {<br /> if ( iX >= iY ) {<br /> return iX;<br /> } else {<br /> return iY;<br /> }<br />}<br /><br /> 这可麻烦了!一直以来我的习惯都是和林锐博士风格一致,即:“{”和“}”都独立占一行,并且位于同一列,同时与引用它们的语句(就是if/for之类)左对齐。还是上面那个简单的例程,按此风格可以写成:<br /><br />int Max(int iX, int iY)<br />{<br /> if ( iX >= iY )<br /> {<br /> return iX;<br /> }<br /> else<br /> {<br /> return iY;<br /> }<br />}<br /><br /> 我想,看帖的各位大都是后一种风格吧?而且国内绝大多数C/C++程序员都是后一种风格。然而,公司的《规范》偏偏不是这样。<br /> 这种《规范》里的条款令我非常不适应!我已经将该意见反馈给上面了,但得到答复是:公司不可能同时制定两套规范,所以必须严格执行。<br /> 我该怎么办呢?改变早已形成的习惯?“两本帐”,一套自己玩,一套应付上面的检查?还是换个……?不敢想象!希望看帖的各位同行能给我指点迷睛,谢谢!<br /> |
|