代码之家  ›  专栏  ›  技术社区  ›  Carl Manaster

故意先弄错的例子

  •  4
  • Carl Manaster  · 技术社区  · 15 年前

    我刚刚发现自己做了很多事情,我想概括一下,表达一下,分享一下,看看还有谁在遵循这个一般的实践,找到其他一些可能相关的示例情况。

    一般的做法是,在承担当前任务之前,先故意出错,以确定其他一切都是正确的。

    具体来说,我想做的是在使用Dojo文本区域小部件的代码库中查找示例。我知道(因为我面前有它——存在证明),文本框小部件至少存在于一个文件中。因此,我首先寻找我知道的东西:

    grep-r digit.form.textbox_grep-v 视觉神经网络

    这是不对的-我犯了一个常见的(对我来说)错误,离开了星星,所以我修正了:

    grep-r digit.form.textbox*grep V-SVN

    没有发现结果!与我正在查看的文件进行快速比较表明我拼写错误“dijit”:

    grep-r dijit.form.textbox*grep V-SVN

    现在我得到了结果。很酷;故意先出错意味着我的查询是正确的,除了查找错误的东西,所以现在我可以构造正确的查询:

    grep-r dijit.form.textarea*grep V-SVN

    并且要确信,当它没有给我任何结果时,这是因为没有这样的文件,而不是因为我的查询格式不正确。

    我将添加另外三个示例作为答案;请添加您知道的任何其他示例。

    7 回复  |  直到 13 年前
        1
  •  4
  •   Carl Manaster    15 年前

    时分双工

    测试驱动开发的红绿重构周期可能是这种实践的原型。使用红色,证明功能不存在;然后使其存在,并通过看到绿色条来证明您已经这样做了。

        2
  •  1
  •   Smandoli    15 年前

    http://support.microsoft.com/kb/275085

    此VBA例程关闭MS Access数据库中每个表的“子数据表”属性。指示用户确保将错误处理设置为“仅在未处理的错误上中断”。该例程通过抛出的错误标识需要修复的表。我不确定这是否完全符合你的问题,但我一直很感兴趣的是,错误是以一种非错误的方式使用的。

        3
  •  1
  •   Community CDub    7 年前

    Here's an example from VBA :

    当我调暗变量时,我也使用camel case。这是下一个样本的骆驼。一旦我退出了vba代码行,如果access没有将小写变量更改为camel case,那么我就知道我输入了错别字。[或者,未设置Option Explicit,这是post主题。]

    我也使用这个技巧,至少一小时几次。

        4
  •  0
  •   Carl Manaster    15 年前

    安排- 断言 -行为-断言

    有时,在我的测试中,我喜欢在操作之前添加一个反断言,以表明操作实际上负责生成由结论断言所证明的期望结果。

        5
  •  0
  •   Carl Manaster    15 年前

    如果对我的拼写有疑问, 我编辑的拼写检查

    我们使用许多编辑器。他们中的许多人在我打字时突出拼写错误的单词-有些人没有。我依赖于自动拼写检查,但我不记得当时的编辑是否有这个功能。所以我会进入,比如说“circuitx”,然后点击空格键。如果它突出显示,我将备份空间和“x”并键入另一个空间-并学习我拼写正确的电路-但如果没有,我将复制单词并粘贴到一个已知的拼写检查程序,看看我是否做了。

        6
  •  0
  •   Michael Zilbermann    15 年前

    我不确定这是最好的方法,因为它不会阻止你把最后一个命令放错位置,例如键入“testarea”或类似的东西,而不是“textarea”(这样的错误你的手指必须稍微滑动一下)。

    imho最好的方法是运行“final”命令,但首先在两个示例文件上运行:一个包含请求的文本,另一个不包含。

    换句话说,运行真正的命令,而不是运行“相似”的命令,而是在“相似”的数据上运行。

        7
  •  0
  •   AndyM    13 年前

    (不确定这是否是一个真正尝试的好主意!)

    例如,您可以将系统提供给用户进行测试,并告诉他们开始使用的密码是“apple”。

    你知道当用户联系你并说密码不起作用(实际上是“橙色的”)时,他们已经完全准备好测试了(所有的东西都安装好了,数据库连接正常)。