给开发新人的信: 学会深思熟虑
译者:baiyutang
原文地址: https://letterstoanewdeveloper.com/2019/09/16/learn-to-look-around-corners/
亲爱的开发新人:
有时你想把事情做的更深入一些,有点像国际象棋选手,他们能够提前考虑很多步棋。如果你能细想你的决定所带来的后果,你将会很受益。(译者注:由此,尝想起一句话“细节是捋出来的,不是做的时候才发现的。)
我记得和一个人谈他们公司的软件(开发)岗位,他提到过选择特定 NoSQL 数据库的“原罪”,它对整个公司产生了连锁反应,有些是好的,有些是坏的。
这种“下游效应”值得思考。最大的问题好比基本的平台选择:Rails 还是 Django, Java 还是 Golang, MySQL 还是 PostgreSQL . 但即使很小的事情也能产生连锁反应。我数不清多少次我说“我只升级这一个东西”,然后变化总会接踵而至。
如果你在做一些特征定义,请多考虑后果。“我们想允许用户更改邮箱地址”,但是如果邮箱地址是一个数据表的主键,或者是跨账号关联数据的主要方法,亦或是其他会波及系统的不变量。
这些只是功能上的影响,还有一些更改会影响性能,有的只能在生产环境才能被测试到。
我不是说不要接受改变,那样太离谱。要意识到复杂系统(如 web 应用程序)中的更改是如何产生超出其预期范围的影响的,考虑如何测试、减轻或处理这类影响。
真诚的 Dan。
版权声明: 本文为 InfoQ 作者【baiyutang】的原创文章。
原文链接:【http://xie.infoq.cn/article/ab9fd9c58224e46952421f11a】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论