编码规范
规范从质量经济学上看,短期需要付出一定成本,但长期来看,不仅有助于项目交接维护、避免低级错误,长期是具有收益的
命名
当很难找到一个合适的名称的时候,表明可能是对问题域理解的还不够透彻
- 有意义的命名
 - 命名一致性
 - 自说明性
 
规范
代码规范
- 格式
 - 空行
 - 命名
 - 日志
- 注意日志级别
 
 - 异常
- 统一异常处理
 - 错误码
 
 
埋点规范
架构规范
破窗效应
适合自己的规范
- 迭代速度
 - 技术债务
 - 人员水平
 
规范不是推出来就完事了 还需要推动 周期性答疑
规范的落地需要进行试点,使用数据驱动评判规范的有效性,同时以核心系统及核心链路优先,优化这些核心点的质量
配合代码评审及静态代码检查
函数
- 通过函数封装判断
 - 避免过长的函数参数列表
 - 避免过长的函数
 - 单一职责原则
 - 精简辅助代码
- 判空
 - 鉴权
 - ...
 
 - 组合函数
- 公有函数的语义是其实现的概要
 
 - 函数式编程
 
设计模式
一种工具或手段,提供了公认的话语概念
模型
- UML
 - 领域模型
 
DDD
- 数据驱动:对数据库建模->编写业务逻辑
 
相对于传统的贫血过程式编程
DDD充分利用了面向对象的优点,实体拥有行为,语义化更高
一些概念:
- 领域实体
 - 聚合根
 - 领域服务
 - 领域事件
 - 边界上下文
 
规范的执行
对于规范的强制执行 不能只靠人来执行 还要依赖工具进行检查 像idea的p3c插件 又或者是前端工作里的eslint 也可以是git推送前的检查