动态布尔表达式变量和布尔函数之间的区别

时间:2018-11-20 13:29:24

标签: android boolean-expression code-standards coding-style

我遇到了一个疑问:这两种获取布尔值的方式有什么区别?最终结果是相同的,但是使用一种或另一种的优缺点是什么?最常用的方法是什么?这种编码风格的最佳做法是什么?
动态布尔表达式变量

...
public class MainActivity extends AppCompatActivity {
    private boolean isVersionM = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
    ....
    private void onCreate(Bundle savedInstanceState) {
        ....
        if (isVersionM) {
            ...
        }
        else {
            ...
        }
        ...
    }
    ....
}

布尔函数

...
public class MainActivity extends AppCompatActivity {
    ....
    private void onCreate(Bundle savedInstanceState) {
        ....
        if (isVersionM()) {
            ...
        }
        else {
            ...
        }
        ...
    }
    ...
    private boolean isVersionM() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
    }
    ...
}

1 个答案:

答案 0 :(得分:0)

这是做一件事情的两种方法。但是,如果您要计算一些运行时值,那将需要第二种方法。

  

这种编码风格的最佳做法是什么

第二,因为您无需更改运行时计算方法(如以下方法)的样式。

private boolean isUserLoggedIn() {
    return PreferenceManager.getString("token") != null;
}