王剑编程网

分享专业编程知识与实战技巧

编程高质量代码总结(基于自己学习+AI总结)

一、命名规范(核心要点)

  1. 命名四要素:清晰性 > 描述性 > 一致性 > 简洁性
    反例:int a; → 正例:int studentCount;
  2. 典型场景
    类名:UpperCamelCase(OrderService)
    方法名:lowerCamelCase(getUserInfo())
    常量:全大写+下划线(MAX_RETRY_TIMES)
  3. 避坑指南
    禁用拼音混合(反例:DaZhePromotion)
    禁用魔法值(反例:if(status == 3) → 用常量STATUS_DELETED)

二、注释规范(黄金法则)

  1. 三要三不要
    要解释"为什么",不要描述"是什么"。
    要记录缺陷(// TODO: 需优化性能),不要粉饰烂代码。
    要说明常量背后的故事(// 超时30秒(根据用户调研结果))。
  2. 注释层级
    类/文件级:说明整体设计。
    方法级:输入/输出/异常说明。
    代码段:解释复杂逻辑

三、方法设计(最佳实践)

  1. SOLID原则:单一职责(一个方法只做一件事)参数处理:public void updateUser(UserDTO user)
  2. 参数规范:最多5个参数,超限需封装对象禁用参数作为局部变量
  3. 返回值处理:返回空集合而非null(return Collections.emptyList())Optional使用场景:明确可能无返回值时

四、控制结构(核心技巧)

  1. 条件语句优化:// 卫语句示例 if (obj == null) return; if (status != ACTIVE) return; // 正常逻辑
  2. 表驱动法:Map statusMap = Map.of( 1, "待支付", 2, "已发货" );
  3. 复杂度控制:方法圈复杂度 ≤ 10(超限需拆分)

五、防御式编程(关键点)

  1. 断言使用:assert connection != null : "数据库连接未初始化";
  2. 异常处理:校验参数有效性:Objects.requireNonNull()优先使用受检异常明确错误类型

六、代码审查清单

  1. 命名检查:是否通过名称就能理解用途?是否遵循团队规范?
  2. 方法检查:是否超过50行?参数是否超过5个?
  3. 注释检查:是否有未完成的TODO?神秘数值是否未解释?

七、性能优化提示

  1. 字符串处理:用StringBuilder代替+操作
  2. 集合初始化:指定初始容量:new ArrayList<>(100)
  3. 流式处理:及时关闭资源:try-with-resources

学习路线建议

  1. 每日一练:重构1个旧方法(命名/注释/复杂度)
  2. 每周精读:分析JDK源码或Spring框架核心类
  3. 每月实践:实现一个设计模式(如工厂模式)

附:推荐书单

《代码整洁之道》- Robert C. Martin

《Effective Java》- Joshua Bloch

《重构》- Martin Fowler

可通过对比文件中的正反例代码加深理解,建议结合IDE的代码质量检测插件(如SonarLint)进行实践练习。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言