第48章 技术债务(第1页)

清晨八点半,林晨已经坐在了科技园写字楼的工位上。昨晚优化投资系统到凌晨一点,但此刻他精神还不错。窗外的南山科技园在晨光中逐渐苏醒,远处腾讯滨海大厦的玻璃幕墙反射着金色的阳光。他抿了一口保温杯里的黑咖啡,打开了昨天没来得及细看的项目代码库。

入职这家 Web3 公司已经两周,他主要负责一个 DeFi 借贷平台的后端智能合约开发。前两周主要在熟悉业务逻辑和团队协作流程,今天终于要开始深入核心代码了。项目名叫“鲸鱼金融”——一个面向大户的加密资产借贷协议。林晨点开主合约文件,Solidity 代码在编辑器里铺展开来。

只看了一分钟,他的眉头就皱了起来。五百行的合约文件里,竟然有四处完全相同的抵押品清算逻辑,只是变量名稍有不同。继续往下翻,一个处理利率计算的函数里嵌套了七层 if-else 判断,像一团纠缠的毛线球。注释?寥寥无几,仅有的几行还写着:“这里好像有问题,但先这样吧”。

林晨深吸一口气,点开了测试目录。空的。只有几个自动生成的骨架文件,没有任何实际测试用例。他又查看了文档目录,只有一个 README.md,里面写着“鲸鱼金融——下一代 DeFi 借贷协议”,下面就没有实质性内容了。“这……”林晨感觉太阳穴在跳。他从业十年,经历过各种项目,但像这样基础质量的项目,在稍微正规点的公司都活不过立项评审。

上午九点,团队站会。Tech Lead 陈峰——一个三十出头、穿着印有“HODL”字样 T 恤的瘦高男人——站在白板前,语速飞快:“这周重点是上线流动性挖矿功能,吸引第一批用户。合约开发部分,林晨你负责挖矿奖励的发放逻辑,三天内完成开发,周五部署测试网”。

林晨举手:“陈哥,我看了现有的合约代码,有些问题想讨论一下”。 陈峰看了眼手表:“简单说,五分钟”。

“第一,代码重复严重,同样逻辑写了四遍,维护起来是灾难。第二,核心函数嵌套太深,可读性和可测试性都很差。第三,完全没有单元测试,部署风险极高。第四,缺乏技术文档,新人上手成本太高”。林晨尽量用平实的语言陈述,“我建议先花一周时间做基础重构,建立测试框架,然后再开发新功能。否则技术债务会越积越多,后期迭代成本会呈指数级增长”。

会议室里安静了几秒。几个年轻程序员交换着眼神。坐在角落的王明——那个上周连续熬了三个通
(本章节未完结,点击下一页翻页继续阅读)