论坛首页 Java企业应用论坛

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

浏览 20993 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (16)
作者 正文
   发表时间:2011-05-31  
我们在维护别人代码的同时也应该考虑别人维护我们的代码,这样就知道该不该加了
0 请登录后投票
   发表时间:2011-05-31  
steafler 写道
这个主要是规范问题

+1
可读性以及二次开发的需要。代码不是就自己能看懂就行了的,重要的是另人也能很快就能看懂。这样的代码才是好的代码。
0 请登录后投票
   发表时间:2011-05-31  
《java程序员上班那点事》这本书里有提到过这个问题。
结论是还是加上比较好,便于以后维护。去掉{}并不能起到任何优化作用,反而导致阅读困难。
0 请登录后投票
   发表时间:2011-05-31  
单行的从来不加!
0 请登录后投票
   发表时间:2011-05-31   最后修改:2011-05-31
zui4yi1 写道
很无聊的话题。
for语句也就算了,if语句为什么也必须加呢?(我说的是各个公司的要求)。
规范,不过是为了避免修改程序后运行出错吧?我倒觉得既然程序员修改了程序,那肯定也会去测试程序,那这样,还有必要必须后跟"{"的要求么?加了"{"会同时引起麻烦和美观的问题,视觉上就是累赘的感觉,像我这类程序员就很想去删除。
哦,出来混还没满一年,求教不加“{}”后有什么潜在的问题?
欢迎拍砖,不是铁块就行。

------------------------------------------
没想到这个简单的话题还是有很多热心人的回复,感动中。

总结了下各位的回复,加{}的理由有二:一是多编辑器如VI的问题,如果是web开发的一般不会有这方面的问题吧?二是,哦,纯粹的“规定”问题,并没有解决潜在问题的问题。关于第二点,首先要说的是,加不加{},其实并不像回复中所说的“乱套了”,就那么一点的符号,怎么可能乱了呢?就算有上万行的又经过N多人修改的代码也不会出现混乱的视觉问题,也就说,没这个规范需要。其次,如果加{}并没解决什么潜在的问题的话,那么,这个规定,就真的很蛋疼了。就好比女子的审美标准,在唐朝,以“胖”为美,而其它朝,以“瘦”为美。难道,最初提出这个规范的,是个唐朝的人?


你项目从来不布署在unix上么?
或者布署工程师劳动力不值钱?

PS:纯为好看三目就够了
0 请登录后投票
   发表时间:2011-05-31  
果断加。
本人这边接的几个破系统都没加,,阅读起来麻烦死
0 请登录后投票
   发表时间:2011-05-31  
1、养成一个好习惯,也是一种提高
2、让以后接手你代码的兄弟活得舒服点(小心被骂)
3、可读性很重要,让有点英语基础的盆有读懂,说明你的代码组织得很NB
0 请登录后投票
   发表时间:2011-05-31  
神马规范呀,习惯呀,代码可读性呀,可维护性呀。这些帽子都是虚的,最好能举出令人信服的例子来说明加括号的重要性,否则很难说服我这样的顽固份子。

下面的代码那个更好看呢,我选择前者:
if (a > 0)      return 1;
else if (a < 0) return -1;
else (a == 0)   return 0;

////////////////////////////////////////////

if (a > 0)
{
  return 1;
}
else if (a < 0)
{
  return -1;
}
else (a == 0)
{
  return 0;
}
0 请登录后投票
   发表时间:2011-05-31  
当你在做一个持续了N年的项目需要增加一行缺忘了加花括号岂不悲哉
0 请登录后投票
   发表时间:2011-05-31  
chunquedong 写道
神马规范呀,习惯呀,代码可读性呀,可维护性呀。这些帽子都是虚的,最好能举出令人信服的例子来说明加括号的重要性,否则很难说服我这样的顽固份子。

下面的代码那个更好看呢,我选择前者:
if (a > 0)      return 1;
else if (a < 0) return -1;
else (a == 0)   return 0;

////////////////////////////////////////////

if (a > 0)
{
  return 1;
}
else if (a < 0)
{
  return -1;
}
else (a == 0)
{
  return 0;
}

只能说你现在还不适合团队开发了。
0 请登录后投票
论坛首页 Java企业应用版

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