c - 家族树软件中的周期

  显示原文与译文双语对照的内容

我是一些家谱软件( 用 C++ 和Qt编写)的开发者。 我的一个客户发给我一个 Bug 报告之前,我没有问题。 问题是他有两个孩子和他自己的女儿,因此,由于错误,他不能使用我的软件。

这些错误是我的各种断言和关于正在处理的家族图的不变量的结果。

如何在不删除所有数据断言的情况下解决这些错误?

时间:

我猜你有一些独特的价值,可以唯一地识别你的支票。

这是一个棘手的问题。 假设你想保持结构为一棵树,我建议:

假设:A 有孩子和他自己的女儿。

A 将自己作为 AB 添加到程序中。 作为父亲的角色,我们称之为boyfriend男友,。

添加一个 is_same_for_out() 函数告诉输出生成程序的一部分,所有的链接将 B 内部应该会 A 演示的数据。

这将为用户做一些额外的工作,但我想实现和维护它相对容易。

构建时,你可以使用代码同步 AB 来避免不一致。

这个解决方案当然不是完美的,但它是第一种方法。

你应该将 Atreides 家族( 现代,沙丘或古代 Oedipus雷克斯 ) 设置为测试用例。 你没有通过使用经过净化的数据作为测试用例来找到 Bug 。

这就是像"转到"这样的语言没有断言的原因之一。 它们用来处理你可能没有考虑过的情况。 你应该只断言不可能,不仅可能 。 做后者是给断言一个不好的名声。 每次你 assert( 型,走十分钟,真的想想。

在你特别令人不安的情况下,它是可能的和可怕的,这样的断言将虚假的罕见但可能的情况下。 因此,在你的应用程序中处理它,如果只是说"这里软件不是为处理你所提出的场景而设计的"。

认为你的伟大,伟大,伟大的祖父是你父亲的不可能是一个合理的事情。

如果我是为测试你的软件而受雇的一家测试公司,我当然会给出那个场景。 为什么?每个少年然而智能'用户'要做一样的观赏'Bug 报告'。

...