模块拆分

  • 模块太多
  • 模块太少

    过度设计

  • 交付成本

    • 工期太长
  • 不灵活
    • 维护困难
  • 想得太多
  • 简洁原则

    递归

  • 适度使用,控制规模

  • 少用,规模过大容易 stackOverflow (栈溢出; 堆溢出)

    链式调用

  • 正常使用

    • builder,stream
  • 滥用

    • a.getB().getC().getD()
    • 提升质量/方便调式
      • 使用中间变量
      • 避免null
      • 方便调用
      • 避免2次取值不一致

        注释问题

  • 注释太多

    • 意义不明
  • 注释太少
    • 意义缺失
  • 代码意图
    • 可读性