代码整洁之道示例:简化计算器代码
代码整洁之道示例:简化计算器代码
本文以一个简单的计算器代码为例,展示了如何使用代码整洁之道技巧来改进代码结构和可读性,并提高代码的健壮性。
原始代码
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println('Enter first number:');
int num1 = scanner.nextInt();
System.out.println('Enter second number:');
int num2 = scanner.nextInt();
System.out.println('Enter operation (+, -, *, /):');
String operation = scanner.next();
int result = 0;
if (operation.equals('+')) {
result = num1 + num2;
} else if (operation.equals('-')) {
result = num1 - num2;
} else if (operation.equals('*')) {
result = num1 * num2;
} else if (operation.equals('/')) {
result = num1 / num2;
}
System.out.println('Result: ' + result);
}
}
改进后的代码
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = getNumberFromUser('Enter first number:', scanner);
int num2 = getNumberFromUser('Enter second number:', scanner);
String operation = getOperationFromUser(scanner);
int result = calculateResult(num1, num2, operation);
System.out.println('Result: ' + result);
}
private static int getNumberFromUser(String prompt, Scanner scanner) {
System.out.println(prompt);
return scanner.nextInt();
}
private static String getOperationFromUser(Scanner scanner) {
System.out.println('Enter operation (+, -, *, /):');
return scanner.next();
}
private static int calculateResult(int num1, int num2, String operation) {
switch (operation) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
return num1 / num2;
default:
throw new IllegalArgumentException('Invalid operation: ' + operation);
}
}
}
改进点
- 将获取用户输入数字和操作的逻辑移入单独的方法中,提高了代码的可读性和可维护性。
- 使用 switch 语句替换了多个 if-else 语句,使代码更加简洁。
- 添加了异常处理,防止无效的操作符输入。
通过以上改进,代码变得更加清晰易懂,也更易于维护和扩展。这体现了代码整洁之道中强调的代码可读性、可维护性和可扩展性原则。
原文地址: https://www.cveoy.top/t/topic/mRfG 著作权归作者所有。请勿转载和采集!