高级软件工程师教会小白的那些事( 五 )

“软件的主要价值不在于产生的代码,而在于产生它的人所积累的知识。”——Li

我们有一个面向客户的API终端,似乎没有人使用过。我们只是删除它吗?毕竟,这是技术负债。

如果我告诉你,每年在特定国家/地区,10名采访人员会将他们的报告发送到该终端,该怎么办?你要如何测试?如果没有文档(现实中确实没有),我们就没办法。所以,我们没有那么做。我们直接删除了该端点。几个月以后那个一年一度的时刻到了。十名采访人员无法发送10份重要报告,因为终端不再存在了。

拥有关于这个产品的知识的人离开了团队。当然,现在代码中有一些注释解释了端点的用途。

据我所知,文档是一个每个团队都在努力解决的问题。不仅仅是代码文档,还有代码周围的流程。

我们还没有找到一个完美的解决方案。

我很喜欢Antirez对不同类型的有价值的代码注释的详细分类。

原子提交

如果你必须回到之前的步骤(是的你会的。详见测试部分),这个提交作为一个单元是否合适?

推荐阅读