- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Joe Armstrong 所说的“你根本不应该编写测试用例,你可以使用比愚蠢的旧测试用例更先进的技术”是什么意思?
那些更高级的技术是什么?
来源:A Guide for the Perplexed
此外,他甚至建议不要重用代码,而是重写它。这与我学校教给我的一切背道而驰。所以我想知道这个声明背后的原因是什么。
最佳答案
对于测试用例:做函数式编程的人有一种鄙视单元测试的倾向。 Rich Hickey 引用了一句名言,他将使用单元测试比作汽车依靠从护栏上弹起才能继续行驶。他有一个观点,OO 企业代码是如此复杂和凌乱,这几乎就是我们所做的。理论是,如果你正确地做 FP,你应该主要编写小的纯函数,它们的作用是不言而喻的。在这种情况下,在单元测试级别进行测试不会增加太多。
(我不能肯定,但我不知道有什么让我认为 Armstrong 特别专注于证明程序的正确性。Erlang 没有编译时类型检查,这在我看来就像使证明正确性更难。)
对于 rewrite-not-reuse,我认为这个想法是,值(value)不在于软件,而在于你的理解。如果您多次重复使用,您可能会发现自己将每件作品拼凑在一起,而每件作品都是您第一次尝试解决问题。每当我们第一次构建某些东西时,我们都不知道我们在做什么,如果幸运的话,它可能大部分都有效,但这几乎是废话。重写提供了建立联系和学习的机会,最好以新的眼光重新审视问题,并有机会创造更清洁、更好的东西。
关于unit-testing - Joe Armstrong 在 "there are more advanced techniques"中引用了什么进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64111039/
我正在用 C++ 编写一个函数,计算所有阿姆斯特朗数字,直到作为参数发送给该函数的上限。出于某种原因,我的函数没有将 153 识别为 armstrong 号码,并且在识别 9474 后崩溃。这是我目前
题目地址:https://leetcode-cn.com/problems/check-if-a-number-is-majority-element-in-a-sorted-array/ 题目描述
我要解决的问题是: Write a javascript program which returns true when a given number is Armstrong number and
我正在阅读 the Multivalued dependency page维基百科。为多值依赖提供了一些属性。但是没有给出以下属性: 如果 A →→ BC 那么 A →→ B 和 A →→ C (→→
尝试编写阿姆斯特朗函数。我使用 chrome 进行调试,发现当我尝试分配 pow 的结果时,它在 val1 上爆炸。我尝试了 array[element] 和 array[element].value
该程序未将 153 显示为阿姆斯特朗数,而对于其他数字,输出是正确的。就像我检查 407 时它给出了正确的答案,但当我检查 153 时它显示的不是阿姆斯特朗数字。 #include #include
我需要做一个代码来验证输入的号码是否是阿姆斯特朗号码,但我的代码并不适用于每个号码。 谁能告诉我我错过了什么?还有其他方法吗? 谢谢! let e, x, d = 0; let b = prompt(
这是我要运行的代码。我尝试了很多事情,比如我找到了一个使用 math.h 执行 ceil() 的解决方案,但我真的很想了解为什么即使我做了类似的事情,它也不起作用 pow((int)j, 3) + p
作业提醒!我正在尝试构建一个控制台应用程序来确定给定的整数是否是阿姆斯特朗数。我在网上找到了一个有效的解决方案,但在花了太多时间分析它之后,我仍然不太了解逻辑,无法自己重现它……我确定的两个痛点是 1
我检查阿姆斯壮“n”位数的程序给出了错误的输出,仅当输入为 153 时。 这是我的代码。 #include #include int main() { int p, k, n, t, sum,
Joe Armstrong 所说的“你根本不应该编写测试用例,你可以使用比愚蠢的旧测试用例更先进的技术”是什么意思? 那些更高级的技术是什么? 来源:A Guide for the Perplexed
class Program { static void Main(string[] args) { int temp; int arm, j = 0;
我想打印出1-10000的Armstrong Numbers,我的问题是编译运行的时候有“四个1”,我想问一下是哪一部分我写错的代码,如果我只打印一个1,应该修改代码的哪一部分。除此之外,所有其他 A
阿姆斯特朗数列为1,2,3,4,5,6,7,8,9,153……如果可能的话,我们如何以小于 O(n) 的时间复杂度找到第 N 个阿姆斯特朗数。 我已经通过从 1 遍历到 max_int 并检查第 i
我想编写一个程序来判断一个数字是否是阿姆斯壮数字。我为此编写了一个函数,如果数字是 armstrong 数字则返回 1,否则返回 0。 我在函数中使用了以下代码: int isArmsNum(int
下午好。我的目标是编写一个简单的 c 程序,该程序在我的 beagleboard-xm 上运行并每 100 毫秒在 gpio 引脚上打开一个 LED。我想使用定时器中断来实现这一点。我正在尝试按照本教
这是我关于c++的代码我在我学校的 IDE 上做,当我在上面运行代码时。它有 10 个测试来运行程序,它说只有 8 个测试正确,2 个测试超出时间限制因为它允许程序在 1 秒内运行所以我想问他们是否有
我是一名优秀的程序员,十分优秀!