当前位置:  开发笔记 > 编程语言 > 正文

IF语句格式化最佳实践,你的风格是什么?

如何解决《IF语句格式化最佳实践,你的风格是什么?》经验,为你挑选了3个好方法。

希望改进我的IF语句,并希望我的代码看起来很漂亮

这是我目前正在做的,是否可读,还有改进的余地?

SomeObject o = LoadSomeObject();


if( null == o
    ||
    null == o.ID || null == o.Title
    ||
    0 == o.ID.Length || 0 == o.Title.Length
 )

我没有人问过.这就是我首先来到这里的原因.请不要关闭我的问题:(



1> brabster..:

为了下一个人,我总是试着避免使用复杂的布尔表达式,但是如果我必须编写一个不容易在一行上运行的表达式,我会将其格式化如下:

if (value1 == value2 ||
    value3 == value4 ||
    value5 == value6 ||
    value7 == value8) {

  executeMyCode();
}



2> TravisO..:

你的详细程度导致代码不太可读,我认为以下格式是最好的:

if ( null == o || null == o.ID || null.Title || 0 == o.ID.Length || 0 == o.Title.Length )
{
  // do stuff
}

出于某种原因,我们都有高分辨率/宽屏显示器,没有理由以一些可怕的短语法锁定你的代码.此外,我只是创建一个名为IsIDEmpty的函数,以便代码看起来像

if ( IsIDEmpty(o) )
{
  // do stuff
}

保持代码更简洁,更清洁.该函数将执行实际检查并返回布尔值.我确信这是你可能已经重复使用的东西,而且它可以作为一种简单的方式让代码更加自我记录/评论.



3> Albert..:

对于你所拥有的最简单的格式,我会每行一个.

if(null == o
  || null == o.ID
  || null == o.Title
  || 0 == o.ID.Length
  || 0 == o.Title.Length)

更好的是,如果你可以重构这个条件,使它适合一条线.我发现大量的|| 或&&通常很难阅读.也许你可以将它重构成一个函数并留下:

if(myFunction(...))

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有