将一个布尔变量分配给一个条件,或者放一个" true"条件if语句中的布尔赋值?

时间:2016-04-12 15:00:51

标签: performance logic structure readability

我最近开始了一个新的开发团队。我花了很多时间在空闲时间编写单个项目,而我在这家公司工作的最后一个团队我的工作主要是个人。
目前,我花了大部分时间来维护和重构我们的应用程序,并试图习惯于在协作软件环境中。

我们的应用程序有一个 lot 的if语句结构如下:

function bulkFile(ownerEmail, fileIds) {
  var ts = tokenService(ownerEmail);
  LibDrive.Init(ts);
  var dSA = LibDrive.ServiceAccount(ownerEmail);
 return dSA.batchPermissionChange(fileIds, "admin.fileshare@domain.com"); //<-- This is the user that recieves the folder/file
}

单独编写代码,我更倾向于这种结构:

boolean foobar = false;
if(condition){
    foobar = true;
}

对于那些从事协作开发团队工作的人,你认为后一种选择会牺牲可读性吗?消除多余的代码值得牺牲吗?还有其他因素我可能没有考虑到吗?

为了它的价值,我们使用Sonar进行源代码质量管理,而我没有抗议的Sonar标志就是这样 - 布尔方法应该返回条件,不是真的&#39;或者&#39; false&#39;。

1 个答案:

答案 0 :(得分:0)

您可以直接编写此代码而不会牺牲可读性:

boolean foobar = condition;

为了提高可读性,最重要的是变量的名称

您可以使用isValidisComplete

之类的名称。

不要使用否定名称,更喜欢使用isLoser而不是isNotWinner或根据条件求逆来确定isWinner,并使用if (!isWinner)来使用布尔值