search.png
关于我
menu.png
Less can be more

函数的行数

一屏为佳,不用上下滑动,降低阅读的心智负担。正常 25-35 行左右。
如果拆分函数更易于理解流程,则哪怕是一行代码也可以拆解成函数。

一行的长度

同样遵循一屏为佳,不用左右滑动,降低阅读的心智负担。正常 90-120 左右。

文件的函数数量、行数

可以按照 局部组合 整体的方式,对一个大文件做拆分。而整体则形成一个文件。
行数理论上不超过 600 行,这约莫是 20 个函数量级的复杂度。

注释

当函数足够小,而代码拥有自解释的命名规范时,无需进行注释。DRY原则(Don’t repeat yourself)。但是为了方便理解,需要注释的地方有:

  1. 函数的注释,简要描述函数的行为
  2. 特殊处理、魔法值、特殊算法等可能不能一眼明白为什么这样处理的地方
  3. 使用 TODO 标记待实现/完善部分

拆分的角度和方法

面向过程

一个大文件 => 拆分成一个文件夹 => 文件夹内是按函数命名的文件

按函数命名的文件 => 继续拆分成每个不超过25-35行的函数

如果拆分的函数的数量仍然大于 20 个,考虑对可共用的函数继续做拆分

面向对象

对某个领域的业务拆解出单独的包处理,保持每个包内高内聚,低耦合,仅仅包含本业务内的逻辑。

面向分层

常见的业务可以拆分成:

其中可以复用地方,如鉴权、日志等可以通过中间件统一处理。

  1. 参数的校验
  2. DTO 向 DO 的转换
  3. DO 调用实现业务逻辑
  4. VO 的封装返回

版权声明

知识共享许可协议 本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
发布时间:2022年08月04日 13:31:52

评论区#

还没有评论哦,期待您的评论!

关闭特效