Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns ';向前兼容';程序设计_Design Patterns - Fatal编程技术网

Design patterns ';向前兼容';程序设计

Design patterns ';向前兼容';程序设计,design-patterns,Design Patterns,到目前为止,我在这里提出的关于StackOverflow的大多数问题都是如何实现通过XNA环境开发基于软件的NES克隆的单个概念和技术 我在我的个人电脑上收集的小样本相对来说效果很好。除非我撞到了砖墙。如何将所有这些样本合并在一起 拥有概念证明是令人惊奇的,除非你需要它来超越这一点。我现在有很多样本,我正在尝试合并,其中一些是不完整的。现在我被鸡和蛋的情况所困扰,我想把这些样本合并在一起,以确保它们能工作,但是没有测试数据我就不能。我没有工具来创建测试数据,因为它们需要基于需要组合在一起的各个部

到目前为止,我在这里提出的关于StackOverflow的大多数问题都是如何实现通过XNA环境开发基于软件的NES克隆的单个概念和技术

我在我的个人电脑上收集的小样本相对来说效果很好。除非我撞到了砖墙。如何将所有这些样本合并在一起

拥有概念证明是令人惊奇的,除非你需要它来超越这一点。我现在有很多样本,我正在尝试合并,其中一些是不完整的。现在我被鸡和蛋的情况所困扰,我想把这些样本合并在一起,以确保它们能工作,但是没有测试数据我就不能。我没有工具来创建测试数据,因为它们需要基于需要组合在一起的各个部分

在我看来,我在做恶梦,循环引用。对于我的示例数据,我希望将其保存在XML中并编写一个规范——然后手动生成示例数据——但我太偏执了,不想手动创建一个包含错误数据的XML文件并将其归咎于我的代码,反之亦然。我工作的最终结果是面向图形的,这并没有帮助,这使得我无法理解如何在XML节点中可视化屏幕上的图形

我想,我的问题是:在编码世界中,有哪些设计模式和规程可以解决这类问题?为了进一步实现我的目标,我一直依靠蛮力编码和用全新的代码库重新启动项目,但我怀疑这是最好的方式


在我的大学生涯中,我的大部分编程工作都是在一本书中完成的简单项目,或者在给定的正确数据集和可验证的结果下完成的。我没有,因为我自己的设计文档可能是非常错误的。

测试本身可能是错误的,这是正确的,但是当您遇到失败的测试时,您唯一的选择是确定是基础代码还是测试代码/文档出错。通常情况下,它是测试代码,但在有一组通过的测试之前,您不会对底层的基本代码有信心。一旦达到这一点,您将能够更加自信地对基础代码进行更改,因为您知道您有一组测试(文档)来验证更改


总而言之,不要因为你的测试文档可能是错误的而阻止你去写它们。

看起来你试图一下子咬得太多了。如果XML文件太大,无法自信地手动创建,请创建一个XML文件,并进行测试。您的第一个模式应该是您试图创建的内容的一个非常小的子集。自行测试碎片。如果将问题分解成更小的部分,则确定测试数据或代码是否是问题要容易得多

这同样适用于图形。如果最终产品太复杂而无法测试,则将其分解成碎片


这不一定与单独测试组件相同(尽管这也是一个好主意)。使用您已经拥有的内容来生成简化的案例,比尝试一次生成整个案例要容易得多。

就我个人而言,我喜欢通过首先创建框架GUI组件和测试来处理大型项目,然后逐渐填充后端,以确保测试通过,GUI开始按预期运行。从简单的测试开始;即使他们错了,也比根本没有测试要好

对于阅读,我建议如下:

此外,我强烈建议您将所有内容都放在源代码控制的存储库中,如果您还没有这样做的话。如果你不介意谷歌代码是开源和公开的,那么谷歌代码是好的;origo.ethz.ch有一个很好的免费服务,可以公开也可以私下提供

其次,我强烈建议您边做边记录所有内容,并使其与doxygen之类的工具兼容。大型项目确实受益于增量文档。如果使用微软Visual Studio和C++或C语言,请阅读他们的XML文档格式:

祝你好运