Categories
程式開發

软件质量的黄金准则


在关于软件质量的相关谈论中,我通常会引用一条经验法则。所以,我决定发帖总结一下。我将其称为“软件质量的黄金准则”,因为它简单明了,并且可以广泛使用。

黄金准则如下:

宁可在upstream (上游,接近问题的根源层面) 推送补丁,也不要在downstream (下游,远离问题根源的层面) 解决问题。

我将在本文引用Haskell社区和生态系统的例子,进一步解释这个准则对软件工程tradeoffs的影响。

免责声明:软件质量的黄金准则不代表你对待他人的黄金准则,反之亦然。

第三方依赖

很多开发者项目都借助于第三方依赖或工具,但他们却很少思考如何修改或改进这些第三方代码。相反,他们更多屈从于旁观者效应。这也就意味着如果一个项目的应用越广泛,那么开发者就会越发理所应当地认为会有人帮助他们解决一切问题。长久以往,这些开发者在面对热门工具中的问题就会熟视无睹。

举例来说,很长一段时间以来,Haskell不支持访问资料字段的点语法。在Java中,如果想要修改嵌套结构资料中的数值,只需要将参照变数串起来,例如:

a.b.c.d.e = 10 

但是,在Haskell中则是每多一层,每个等号就会重复之前等号的序列并多一个取值用的函数,例如:

原文链接:【https://www.infoq.cn/article/eAXvDw5jj3NQ0vEewFVM】。未经作者许可,禁止转载。