Clean Code

本文介绍了编程中标识符的命名规范,包括变量、常量、函数等的命名原则,强调了标识符的意义性、避免误导性和便于搜索的重要性。

Chapter 2 标识符


一、有意义

1.变量命名:首单词首字母小写,之后的每个单词首字母大写。函数命名第一个单词字母大写;

2.常量最好先宏定义再使用,单纯的数字常量不够明确。常量名称全大写,多个单词用“_”分隔。

3.timestamp时间戳,年月日时分秒


二、不应有误导性:

1.栈stack,列表list,队列queue,树tree  体现特定数据结构类型

2.慎用小写字母l,和大写字母O


三、便于搜索

1.单字母变量名仅在短对象中使用,变量名字的长短应与其作用域大小相对应;

2.数字、单字母都不利于搜索;

在 Java 中,`Clean Code` 是一种编写代码的最佳实践方式,它强调代码的可读性、可维护性和简洁性。下面我将回答如何在 Java 中实现 `Clean Code` 的一些原则,并通过一个示例展示如何编写干净的代码。 ### 回答问题 `Clean Code` 是指编写易于理解、维护和扩展的代码。以下是一些实现 `Clean Code` 的关键原则: 1. **有意义的命名**:变量、方法和类的名称应该清晰地表达其用途。 2. **函数要小**:每个函数只做一件事,并且尽量保持简短。 3. **避免重复代码**:遵循 DRY(Don't Repeat Yourself)原则。 4. **减少复杂性**:使用简单的设计模式和算法来解决问题。 5. **注释要少但精**:代码本身应该是自解释的,只有在必要时才添加注释。 ### 给出解释 #### 1. **有意义的命名** - 使用描述性的名称,让代码更易读。 - 避免使用单字母变量名(除非是循环计数器等特殊情况)。 #### 2. **函数要小** - 每个函数应该只负责完成一个任务。 - 如果一个函数变得太长或太复杂,考虑将其拆分为多个小函数。 #### 3. **避免重复代码** - 将重复的逻辑提取到单独的方法或类中。 - 使用设计模式(如工厂模式、单例模式等)来减少冗余。 #### 4. **减少复杂性** - 使用简单的控制结构和算法。 - 避免过多的嵌套和复杂的条件语句。 #### 5. **注释要少但精** - 代码本身应该是自解释的。 - 只在必要时添加注释,例如解释复杂的逻辑或算法。 ### 示例代码 以下是一个不干净的代码示例以及如何改进它的方法: #### 不干净的代码 ```java public class Calculator { public int calculate(int a, int b, String operation) { if ("add".equals(operation)) { return a + b; } else if ("subtract".equals(operation)) { return a - b; } else if ("multiply".equals(operation)) { return a * b; } else if ("divide".equals(operation)) { if (b != 0) { return a / b; } else { System.out.println("Cannot divide by zero"); return 0; } } else { System.out.println("Invalid operation"); return 0; } } } ``` #### 改进后的干净代码 ```java public class Calculator { // 定义支持的操作 private enum Operation { ADD, SUBTRACT, MULTIPLY, DIVIDE } // 主计算方法 public int calculate(int a, int b, String operationName) { try { Operation operation = Operation.valueOf(operationName.toUpperCase()); return performOperation(a, b, operation); } catch (IllegalArgumentException e) { System.out.println("Invalid operation: " + operationName); return 0; } } // 执行具体操作 private int performOperation(int a, int b, Operation operation) { switch (operation) { case ADD: return add(a, b); case SUBTRACT: return subtract(a, b); case MULTIPLY: return multiply(a, b); case DIVIDE: return divide(a, b); default: throw new IllegalArgumentException("Unsupported operation: " + operation); } } // 加法 private int add(int a, int b) { return a + b; } // 减法 private int subtract(int a, int b) { return a - b; } // 乘法 private int multiply(int a, int b) { return a * b; } // 除法 private int divide(int a, int b) { if (b == 0) { System.out.println("Cannot divide by zero"); return 0; } return a / b; } } ``` ### 输出结果 对于不干净的代码: ``` Invalid operation ``` 对于干净的代码: ``` Invalid operation: invalidOp ``` ### 总结 - 清晰的命名和分离的职责使代码更易于理解和维护。 - 使用枚举和异常处理可以提高代码的健壮性和可读性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值