`
chelsea
  • 浏览: 117802 次
  • 来自: ...
社区版块
存档分类
最新评论

Java:画蛇添足的编码规范

    博客分类:
 
阅读更多


 

前几天公司培训编码规范:


 

n条:


 

i++; j++; // prohibit


 

should be:


 

i++;


 

j++; // ok


 

m条:


 

if( aBool = bBool ) // prohibit


 

should be:


 

if( (aBool = bBool) == true ) // ok


 

且不说 if( (aBool = bBool) == true ) 这样的代码是如何混进规范的,单是这两条规范之后蕴藏的自相矛盾的原则,就表明这是不成熟的规范:


 

n条背后的思想是每行一条语句,只做一件事,那么为何第m条中aBool = bBoolif(aBool)这两件截然不同的事要放在一行中呢?


 

事实上宁可允许 i++; j++出现在一行中,也不能允许if( (aBool = bBool) == true )出现在一行中,至少前者做的还是类似的事,事实上前者我觉得可读性最好的形式是逗号表达式:


 

i++, j++; //当然,Java里没有逗号表达式


 


 

编码规范肇始于没有智能编辑器的时代,掺杂了很多格式方面的要求,现在各种自动化代码美化功能,可以眨眼间将杂乱无章的代码整理的一帆风顺,将一种风格转换为另一种风格,规范中对格式的规定实在应该弱化,况且Java已经有了官方Code Convention,有了<<The Elements of Java Style>>,企业如果要制定自己的规范,更应注重代码逻辑方面的规范,应多多参考<<Effective Java>><<Practical Javas>><<Java pitfalls>>, <<More java pitfalls>>, <<Java Rules>>, <<More Java Rules>><<Java Bug 模式>>


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics