0319 - 不方便测试的代码,不是好代码

今天在实现 Klib 导出到印象笔记时,其逻辑比预计的复杂。

  • 一方面是由于跟网络相关的操作,总是要处理各种异常。
  • 另一方面是在处理唯一性、合并等问题时,逻辑状态比较多。

由于预估不足,再加上要赶进度,就没有进行充分的设计,直接开始代码。结果,基本实现后发现,代码基本很难进行单元测试。因为数据结构的处理、业务逻辑、甚至 UI 交互都混合在一起、耦合的太紧了,导致无法分模块进行测试。

由于无法测试,导致心里还是很慌的。尤其是,在少量数据下测试是正常的,而在大量数量时就有问题,这种情况更慌。既然已经这样了,还用大量数据来发现问题。在解决这些问题后,基本认定功能完成了。如果用户那边遇到了情况,只是遇到后再解决了。