为了可读性而创建常量变量可以吗?
Is it okay to create constant variables just for the sake of readability?
想象一下,如果我有这段代码:
System.out.println("Is the product:\n"+
"1. National.\n"+
"2. International.");
int choice = input.nextInt(System.in);
if (choice == 1)
(...)
else if (choice == 2)
(...)
那么可以做以下事情吗?
final int NATIONAL = 1;
final int INTERNATIONAL = 2;
System.out.println("Is the product:\n"+
"1. National.\n"+
"2. International.");
int choice = input.nextInt(System.in);
if (choice == NATIONAL)
(...)
else if (choice == INTERNATIONAL)
(...)
我不知道,我刚买了 Uncle Bob 的 Clean Code 这本书,我开始质疑自己。
我认为常数比 magic
数字更好。
使用常量,您可以在一个地方控制定义并更好地命名。它将影响您对代码的进一步可维护性。
并在某些情况下尝试使用 enum
而不是常量。 Enum
优点多于常量。
在这种情况下,枚举示例类似于以下代码:
enum UserInput {
NATIONAL(1), INTERNATIONAL(2), UNKNOWN(-1);
private int input;
public int getInput() {
return input;
}
UserInput(int i) {
this.input = i;
}
public static UserInput getUserInput(int input) {
for (UserInput userInput: UserInput.values()) {
if (userInput.getInput() == input) {
return userInput;
}
}
return UNKNOWN;
}
}
//main
public static void main(String[] args) {
System.out.println("Is the product:\n"+
"1. National.\n"+
"2. International.");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch (UserInput.getUserInput(choice)) {
case NATIONAL: break;
case INTERNATIONAL: break;
default:
}
}
检查更多:Why use Enums instead of Constants? Which is better in terms of software design and readability
当你想要一些变量(常量)或代码倍数时,你可以创建常量以获得更好的可读性和理解性。
例如 -:
如果(选择==国家)
(...)
否则如果(选择==国际)
(...)
当你必须多次使用 INTERNATIONAL 和 NATIONAL 时是正确的
想象一下,如果我有这段代码:
System.out.println("Is the product:\n"+
"1. National.\n"+
"2. International.");
int choice = input.nextInt(System.in);
if (choice == 1)
(...)
else if (choice == 2)
(...)
那么可以做以下事情吗?
final int NATIONAL = 1;
final int INTERNATIONAL = 2;
System.out.println("Is the product:\n"+
"1. National.\n"+
"2. International.");
int choice = input.nextInt(System.in);
if (choice == NATIONAL)
(...)
else if (choice == INTERNATIONAL)
(...)
我不知道,我刚买了 Uncle Bob 的 Clean Code 这本书,我开始质疑自己。
我认为常数比 magic
数字更好。
使用常量,您可以在一个地方控制定义并更好地命名。它将影响您对代码的进一步可维护性。
并在某些情况下尝试使用 enum
而不是常量。 Enum
优点多于常量。
在这种情况下,枚举示例类似于以下代码:
enum UserInput {
NATIONAL(1), INTERNATIONAL(2), UNKNOWN(-1);
private int input;
public int getInput() {
return input;
}
UserInput(int i) {
this.input = i;
}
public static UserInput getUserInput(int input) {
for (UserInput userInput: UserInput.values()) {
if (userInput.getInput() == input) {
return userInput;
}
}
return UNKNOWN;
}
}
//main
public static void main(String[] args) {
System.out.println("Is the product:\n"+
"1. National.\n"+
"2. International.");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch (UserInput.getUserInput(choice)) {
case NATIONAL: break;
case INTERNATIONAL: break;
default:
}
}
检查更多:Why use Enums instead of Constants? Which is better in terms of software design and readability
当你想要一些变量(常量)或代码倍数时,你可以创建常量以获得更好的可读性和理解性。 例如 -: 如果(选择==国家) (...) 否则如果(选择==国际) (...)
当你必须多次使用 INTERNATIONAL 和 NATIONAL 时是正确的