论坛首页 Java企业应用论坛

单命令行下,if 必须加"{}" 的问题

浏览 20989 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (16)
作者 正文
   发表时间:2011-06-01   最后修改:2011-06-01
一个个蛋疼了吗?就是一规范的东西。上厕所不擦PP,我不管,但让我闻到,我就骂死你。
0 请登录后投票
   发表时间:2011-06-01   最后修改:2011-06-01
loookto 写道
不说啥了,给你看东西吧~
if(args==null||args.trim().equals(""));//如果为空。。。
    。。。
悲催了~~



这位兄弟说的有道理,本人切身体会此悲催。不过如果不小心在判断后落下一颗";",即使加了花括号,编译器也是不会提示错误的。不过这样从视觉角度讲更容易找出“;”。但是他if判断后面,一个空格都舍不得加的,实在太吝啬了。我每看一个,都手动改一个!
0 请登录后投票
   发表时间:2011-06-01  
if加{},可以避免一些特殊地方范错。比如:
原来的代码
if(true)
   modifyOrder();
当条件为真时,修改订单。

某一天,另一位开发同学,修改了这段代码,改成:
if(true)
   modifyUser();
   modifyOrder();
他的本意是,修改订单前,先修改用户信息。

因为没加{},导致无论条件是否是true,都会修改订单。这个语句没语法错误,如果没有严格的测试,也很难发现潜在的bug,但问题在关键时候,迟早是要爆发的......

加了{},可以很好的避免这类错误。
一般在业务代码里,加了{}比不加{}好;但在一类基础类库 ,框架代码里,为了提高代码的可读性,也没太大必要加{}
0 请登录后投票
   发表时间:2011-06-01  
“任何傻瓜都能写出计算机可以理解的代码。好的程序员能写出人能读懂的代码” —— Martin Fowler
0 请登录后投票
   发表时间:2011-06-01  
null == args, 反对这种
if () {  //必须加
}
0 请登录后投票
   发表时间:2011-06-01  
endall 写道
if加{},可以避免一些特殊地方范错。比如:
原来的代码
if(true)
   modifyOrder();
当条件为真时,修改订单。

某一天,另一位开发同学,修改了这段代码,改成:
if(true)
   modifyUser();
   modifyOrder();
他的本意是,修改订单前,先修改用户信息。

因为没加{},导致无论条件是否是true,都会修改订单。这个语句没语法错误,如果没有严格的测试,也很难发现潜在的bug,但问题在关键时候,迟早是要爆发的......

加了{},可以很好的避免这类错误。
一般在业务代码里,加了{}比不加{}好;但在一类基础类库 ,框架代码里,为了提高代码的可读性,也没太大必要加{}

谢谢,这种我一般都会写到一行的:
if(condition) modifyOrder();
要是另外有人把它修改成这样:
if(condition) modifyUser();
  modifyOrder();
那也是他自找的,再好的规范也不能阻止人写错。
退一步讲,这样需要修改并且改错,这件事情发生的几率到底有多大呢。
0 请登录后投票
   发表时间:2011-06-01  
规范 还是规范
0 请登录后投票
   发表时间:2011-06-01  
我认为只是个规定而已。
0 请登录后投票
   发表时间:2011-06-01  
我遇到一次.
别人不加{};
而不知道谁在后面加了一个;
结果如下
if(xx);
do something
坑爹的找了半天bug啊.
0 请登录后投票
   发表时间:2011-06-01  
确实相当无聊,公司规范怎么定义代码就怎么写吧。
有人喜欢加,有人不喜欢。都由着性子来就乱套了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics