一、软件设计原则
软件设计是为了使软件在长期范围能够容易地进行变化。
基本原则:高内聚、低耦合
二、clean code
1、概念
整洁代码
写的代码能够在尽可能短的时间内被别人读懂
2、命名规则
- 表达它是什么
- 代码要做到自注释
- 使用有意义地循坏迭代变量
- 避免缩写,尤其使拼音缩写
- 不要使用非约定熟成地缩写
- 避免使用魔法数
- 不要害怕使用长变量
3、注释
好的注释:版权信息、涉及意图、警示信息
不好的注释:同义反复、隐晦关联关系、套用模板、提供历史修改记录、注释掉的代码
4、函数
每个函数只做一件事、每个函数都是单一职责的
函数分为骨架函数和步骤函数:
- 骨架函数:业务逻辑和算法在高层次上的抽象描述
- 步骤函数:业务逻辑和算法的一些实现细节,是被隐藏起来的
5、编码细节
- 使用自然的比较顺序
- 简化逻辑层次,避免使用多层嵌套
- 在写三元表达式时不要出现复杂的逻辑和过长的条件
- 需要控制变量的作用域,也就是缩小作用域的范围,越小越好
三、单元测试
单元测试具有更早发现问题、更容易集成、更安全的代码修改的优点。
单元测试可以降低产品开发的成本
单元测试的原则:
- 将单元测试视为文档
- 自检性
- 不可破坏性
- 简洁性
- 网络安全性
- 定位缺陷
- 用写代码的方式进行测试
- 快速且可重复
单元测试的模式:
- 四步测试法
- 状态验证与行为验证法
- 双重测试法
四、重构
重构的规则:业务导向、小步快跑(主干、分支)、演进式设计、正交设计原则(分离关注点、消除重复、缩小依赖范围、向着稳定的方向依赖)
五、配置化架构
- 通常情况下配置指的是对数据的抽象,需要架构上的描述
- 架构上描述的配置指的是对结构元素的抽象,描述配置化不完整
- 配置化包括对业务的抽象,尤其是逻辑
- 配置化还包括对配置的管理以及分支
应用配置化架构:
-
业务配置话改造
- 组件配置化
- 构建DSL
-
提高配置的开发效率
-
降低配置的维护成本
配置的规则:
- 四个不同维度间参数能够共用
- 配置支持合并
- 减少冗余信息
- 消除信息重复
- 使用配置的默认值