如何写好后端业务代码
程序框架
形成一个自己的程序框架至关重要。程序框架其实就是你抽象自己的设计思路,抽取可复用部分,形成后续项目的基座。里面应该包含了程序目录结构、调试工具、编码规范的约束工具、日志工具、发布工具、常用函数库、常用业务库等等。这样就避免每次你都从头再来一遍,也避免了犯一些低级错误。
数据驱动
后端业务代码,归根结底也是依托于数据流动,因此我们仍然需要以数据驱动作为核心理念去设计我们的程序处理流程。这里其实分为两个步骤。
数据库设计
这是第一步。数据库设计可以帮助我们明确到底有哪些数据实体和关系,后续的数据处理就是数据如何在这些实体和关系中流动的问题。
数据流向
我们把每一个数据实体“从哪里来、经过了哪些处理、到哪里去”这三个问题理清楚,画出数据流向图,我们的程序设计也就基本上有个雏形了。
命名
这周写的短视频生成的后端脚本,第二天我就发现自己都看不懂这段代码的逻辑了,出现问题完全无从下手。
后来通过重命名变量和方法,代码可读性就得到了极大的提升。
认真阅读自己的代码,结合业务逻辑,找出里面不合理的地方改掉,代码就会越来越好。
用脑子写代码,重视设计与逻辑,不要只是盲目搬砖;否则你的楼是建不高的。
尘归尘,土归土,让合适的代码去往正确的位置。
流程拆分
长流程往往意味着难以理解和难以调试,因此我们需要将长流程进行拆分,以更小的单位去处理业务,并做好日志记录和产出内容的存储和校验。
以短视频生成为例,从流程上就可以拆分为如下几部分:
- 准备数据(第三方接口数据、应用模板配置)
- 准备物料(生成音频)
- 生成配置文件(通过音频时长,计算每个页面的时长和每个字幕在视频中的播放起点时间)
- 准备物料(生成视频)
- 合成(字幕音频、背景音频、视频)
- 上传结果
- 清理过程文件
拆分后,我们就可以并行开发,也可以对每一个阶段的产出物进行校验,这样出现问题很容易定位到是哪个环节导致的。
流程解耦
每个流程尽量做到不要和其他流程的内容耦合,这个和JS里面的Pure Function的理念很类似。