郭卫东 发表于 2024-11-9 01:08:03

代码背后的智慧:20条编程感悟

各人好,我是木宛哥;在 10余年的工作履历让我深刻体会到软件开辟不仅仅是写代码,更是一个系统化的交付过程。
为此我总结了20条编程感悟,涵盖了代码规范、计划原则、测试方法与交付流程等多个方面;​通过遵循代码规范,让代码更加可读与可维护,同时合理的计划能够有用应对需求厘革,模块化的单元测试又确保了产品的可靠性,顾全的交付流程末了提升了项目质量。
希望这些感悟更多步伐员提供参考,帮助各人在编程的道路上不绝进步。
1. 清晰的命名

● 原则:代码应该易于阅读和理解;比方:变量、函数和类的名称应能清楚表达其意图;
● 示例:
// 明确表示学生数量
int numberOfStudents = 30;

/**
* 计算圆面积
* @param radius 半径
* @return 面积
*/
public double calculateAreaOfCircle(double radius) {
    return Math.PI * radius * radius;
}2. 使用注释

● 原则:在复杂或重要的代码段添加注释,帮助他人理解;
● 示例:
/**
* 计算给定列表的平均值
*
* @param numbers 要计算的数字列表
* @return 返回数字的平均值,如果列表为空则返回0
*/
public static double calculateAverage(List<Double> numbers) {
    if (numbers == null || numbers.isEmpty()) {
      return 0;
    }

    double sum = 0.0; // 用于保存数字的总和
    int count = 0; // 用于记录有效数字的数量

    // 遍历列表中的每个数字并计算总和
    //【注意】:检查列表中的每个元素是否为 null,需要过滤
    for (Double num : numbers) {
      if (num != null) {
            sum += num;
            count++;
      }
    }

    if (count == 0) {
      return 0;
    }
    double average = sum / count;
    return average;
}3. 同等的编码风格

● 原则:遵循团队的编码标准,保持代码风格同等;
● 示例:使用同一的缩进和大括号位置。比方 IDEA 等 IDE 中配置同一的 CodeStyle:Alibaba-CodeStyle 、Google-CodeStyle 等;
4. 代码模块化

● 原则:将功能分解成小模块,增加重用性;
● 示例:
public class Calculator {
    /**
   * 加
   * @param a
   * @param b
   * @return
   */
    public int add(int a, int b) {
      return a + b;
    }

    /**
   * 减
   * @param a
   * @param b
   * @return
   */
    public int subtract(int a, int b) {
      return a - b;
    }
}5. 避免重复代码

● 原则:遵循DRY原则(Don’t Repeat Yourself);
● 示例:
//不好的实践:重复
public class Calculator {
    public void addAndPrint(int a, int b) {
      int result = a + b;
      System.out.println("Result: " + result);
    }

    public void addAndPrintAnother(int x, int y) {
      int result = x + y;
      System.out.println("Result: " + result);
    }
}

//好的实践:我们可以提取出一个公共方法来遵循DRY原则:
public class Calculator {

    public void addAndPrint(int a, int b) {
      printResult(add(a, b));
    }

    public int add(int a, int b) {
      return a + b;
    }

    private void printResult(int result) {
      System.out.println("Result: " + result);
    }
}6. 依赖接口而不是具体的实现

● 原则:依赖接口而不是具体的实现,增强灵活性;
● 示例:
public interface Shape {
    double area();
}

public class Circle implements Shape {
    private double radius;

    public Circle(double radius) {
      this.radius = radius;
    }

    @Override
    public double area() {
      return Math.PI * radius * radius;
    }
}

public class Square implements Shape {
    private double sideLength;

    public Square(double sideLength) {
      this.sideLength = sideLength;
    }

    @Override
    public double area() {
      return sideLength * sideLength;
    }
}

//依赖接口而不是具体的实现
void printf(Shape shape);7. 避免魔法数字

● 原则:使用常量代替魔法数字;
● 示例:
final double FIXED_RATE = 3
double area = FIXED_NO * radius8. 简化条件语句

● 原则:避免复杂的条件逻辑。用快速 return 来减少 if 嵌套层次;
● 示例:
//不推荐:嵌套太深public void checkUser(User user) {    if (user != null) {      if (user.getAge() > 18) {            if (user.isActive()) {                // 允许访问                System.out.println("Access granted");            } else {                System.out.println("User is not active");            }      } else {            System.out.println("User is underage");      }    } else {      System.out.println("User is null");    }}//推荐:快速失败返回public void checkUser(User user) {    if (user == null) {      System.out.println("User is null");      return;    }      if (user.getAge() 为什么要做(why)->要做什么(what)->如何去做(how) 体系化思索;</p>○ 再从业务用例分析->系统依赖分析->领域模子分析->架构计划分析->时序图分析等落地最终的系分;
18. 重视代码评审

● 原则:定期进行代码评审,提高代码质量,提高团队研发意识;
19. 重视每一次交付

● 原则:
○ 事前锁定资源,上下游告竣同等,明白里程碑计划;
○ 事中按需推进,每周项目进度同步,实时通晒风险;
○ 事后构造复盘以及关注业务数据(关注代价)
20.重视交付质量

● 原则:新功能需多考虑灰度验证
○ 后端服务:可按分组进行灰度验证(gray 分组->default 分组)
○ 客户端:小范围升级验证无标题后,渐渐放量升级;
写在末了

欢迎关注我的公众号:编程启示录,第一时间获取最新消息;
微信公众号https://img2024.cnblogs.com/blog/299214/202410/299214-20241021020338926-925208857.jpghttps://img2024.cnblogs.com/blog/299214/202410/299214-20241021020349620-71311617.jpg
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 代码背后的智慧:20条编程感悟