动态布尔表达式变量和布尔函数的区别
Difference between dynamic boolean expression variable and boolean function
我遇到了一个疑问:这两种获取布尔值的方式有什么区别?最终结果是一样的,但是使用其中一种的优缺点是什么?最常用的方法是什么?这种编码风格的最佳实践是什么?
动态布尔表达式变量
...
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;
}
...
}
这是做一件事的两种方法。但是如果你有一些 运行 时间值要计算,那么你将需要第二种方法。
What is the best practice of this coding style
Second,因为您不需要像下面的方法那样为 运行 时间计算方法更改样式。
private boolean isUserLoggedIn() {
return PreferenceManager.getString("token") != null;
}
我遇到了一个疑问:这两种获取布尔值的方式有什么区别?最终结果是一样的,但是使用其中一种的优缺点是什么?最常用的方法是什么?这种编码风格的最佳实践是什么?
动态布尔表达式变量
...
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;
}
...
}
这是做一件事的两种方法。但是如果你有一些 运行 时间值要计算,那么你将需要第二种方法。
What is the best practice of this coding style
Second,因为您不需要像下面的方法那样为 运行 时间计算方法更改样式。
private boolean isUserLoggedIn() {
return PreferenceManager.getString("token") != null;
}