微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

乔·阿姆斯特朗用“还有更先进的技术”指的是单元测试

如何解决乔·阿姆斯特朗用“还有更先进的技术”指的是单元测试

乔·阿姆斯特朗(Joe Armstrong)指的是“您根本不应该编写测试用例,可以使用比愚蠢的旧测试用例更高级的技术”?

哪些是更高级的技术?

来源:A Guide for the Perplexed

此外,他甚至建议不要重用代码,而要重写代码。那违背了我学校教给我的一切。所以我想知道此声明背后的原因。

解决方法

对于测试用例:进行函数式编程的人们倾向于鄙视单元测试。里奇·希基(Rich Hickey)引用了他的话,他将使用单元测试与依靠弹跳护栏以保持行驶的汽车进行比较。他指出,面向对象的企业代码是如此复杂和混乱,这几乎就是我们要做的。理论是,如果您正确地执行FP,则应该在不言而喻的情况下编写几乎所有小的纯函数。在这种情况下,在单元测试级别上进行测试不会增加太多。

(我不能肯定地说,但我什么都不知道,这使我认为Armstrong特别注重证明程序的正确性。Erlang没有编译时类型检查,在我看来这样会更难以证明正确性。)

对于不重复使用,我认为想法是,价值不在于软件,而是在您的理解之中。如果您大量重复使用,您可能会发现自己拼凑在一起,而这是您第一次尝试弄清某些东西。而且,每当我们第一次构建某个东西时,我们都不知道我们在做什么,如果幸运的话,它可能大部分都能奏效,但这简直就是废话。重写为建立联系和学习提供了机会,最好以新的视角重新审视问题,并有机会创造出更清洁,更好的产品。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。