Less can be more
函数的行数
一屏为佳,不用上下滑动,降低阅读的心智负担。正常 25-35 行左右。
如果拆分函数更易于理解流程,则哪怕是一行代码也可以拆解成函数。
一行的长度
同样遵循一屏为佳,不用左右滑动,降低阅读的心智负担。正常 90-120 左右。
文件的函数数量、行数
可以按照 局部组合 整体的方式,对一个大文件做拆分。而整体则形成一个文件。
行数理论上不超过 600 行,这约莫是 20 个函数量级的复杂度。
注释
当函数足够小,而代码拥有自解释的命名规范时,无需进行注释。DRY原则(Don’t repeat yourself)。但是为了方便理解,需要注释的地方有:
- 函数的注释,简要描述函数的行为
- 特殊处理、魔法值、特殊算法等可能不能一眼明白为什么这样处理的地方
- 使用 TODO 标记待实现/完善部分
拆分的角度和方法
面向过程
一个大文件 => 拆分成一个文件夹 => 文件夹内是按函数命名的文件
按函数命名的文件 => 继续拆分成每个不超过25-35行的函数
如果拆分的函数的数量仍然大于 20 个,考虑对可共用的函数继续做拆分
面向对象
对某个领域的业务拆解出单独的包处理,保持每个包内高内聚,低耦合,仅仅包含本业务内的逻辑。
面向分层
常见的业务可以拆分成:
其中可以复用地方,如鉴权、日志等可以通过中间件统一处理。
- 参数的校验
- DTO 向 DO 的转换
- DO 调用实现业务逻辑
- VO 的封装返回
版权声明
本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途
发布时间:2022年08月04日 13:31:52
备案号:
闽ICP备19015193号-1
关闭特效
评论区#
还没有评论哦,期待您的评论!
引用发言