锁定老帖子 主题:单命令行下,if 必须加"{}" 的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (16)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-01
最后修改:2011-06-01
一个个蛋疼了吗?就是一规范的东西。上厕所不擦PP,我不管,但让我闻到,我就骂死你。
|
|
返回顶楼 | |
发表时间:2011-06-01
最后修改:2011-06-01
loookto 写道 不说啥了,给你看东西吧~
if(args==null||args.trim().equals(""));//如果为空。。。 。。。 悲催了~~ 这位兄弟说的有道理,本人切身体会此悲催。不过如果不小心在判断后落下一颗";",即使加了花括号,编译器也是不会提示错误的。不过这样从视觉角度讲更容易找出“;”。但是他if判断后面,一个空格都舍不得加的,实在太吝啬了。我每看一个,都手动改一个! |
|
返回顶楼 | |
发表时间:2011-06-01
if加{},可以避免一些特殊地方范错。比如:
原来的代码 if(true) modifyOrder(); 当条件为真时,修改订单。 某一天,另一位开发同学,修改了这段代码,改成: if(true) modifyUser(); modifyOrder(); 他的本意是,修改订单前,先修改用户信息。 因为没加{},导致无论条件是否是true,都会修改订单。这个语句没语法错误,如果没有严格的测试,也很难发现潜在的bug,但问题在关键时候,迟早是要爆发的...... 加了{},可以很好的避免这类错误。 一般在业务代码里,加了{}比不加{}好;但在一类基础类库 ,框架代码里,为了提高代码的可读性,也没太大必要加{} |
|
返回顶楼 | |
发表时间:2011-06-01
“任何傻瓜都能写出计算机可以理解的代码。好的程序员能写出人能读懂的代码” —— Martin Fowler
|
|
返回顶楼 | |
发表时间:2011-06-01
null == args, 反对这种
if () { //必须加 } |
|
返回顶楼 | |
发表时间:2011-06-01
endall 写道 if加{},可以避免一些特殊地方范错。比如:
原来的代码 if(true) modifyOrder(); 当条件为真时,修改订单。 某一天,另一位开发同学,修改了这段代码,改成: if(true) modifyUser(); modifyOrder(); 他的本意是,修改订单前,先修改用户信息。 因为没加{},导致无论条件是否是true,都会修改订单。这个语句没语法错误,如果没有严格的测试,也很难发现潜在的bug,但问题在关键时候,迟早是要爆发的...... 加了{},可以很好的避免这类错误。 一般在业务代码里,加了{}比不加{}好;但在一类基础类库 ,框架代码里,为了提高代码的可读性,也没太大必要加{} 谢谢,这种我一般都会写到一行的: if(condition) modifyOrder(); 要是另外有人把它修改成这样: if(condition) modifyUser(); modifyOrder(); 那也是他自找的,再好的规范也不能阻止人写错。 退一步讲,这样需要修改并且改错,这件事情发生的几率到底有多大呢。 |
|
返回顶楼 | |
发表时间:2011-06-01
规范 还是规范
|
|
返回顶楼 | |
发表时间:2011-06-01
我认为只是个规定而已。
|
|
返回顶楼 | |
发表时间:2011-06-01
我遇到一次.
别人不加{}; 而不知道谁在后面加了一个; 结果如下 if(xx); do something 坑爹的找了半天bug啊. |
|
返回顶楼 | |
发表时间:2011-06-01
确实相当无聊,公司规范怎么定义代码就怎么写吧。
有人喜欢加,有人不喜欢。都由着性子来就乱套了。 |
|
返回顶楼 | |