小编Ste*_*ell的帖子

什么时候最好使用正则表达式而不是基本的字符串拆分/子串?

似乎在我出现需要字符串的一部分,有关所述字符串的信息等的情况下,随时出现使用字符串解析与正则表达式的选择.

之所以出现这种情况,是因为我们正在评估一个soap标头的动作,之后它被解析为可通过WCF的OperationContext对象管理的东西,然后就此做出决定.现在,简单的解决方案似乎是基本的子串,以保持实现简单,但我的一部分想知道RegEx是否更好或更强大.我的另一部分想知道在我们的特定场景中是否使用霰弹枪杀死苍蝇.

所以我不得不问,在尝试决定使用RegEx而不是典型的字符串解析时,人们使用的典型阈值是什么.请注意,我在正则表达式中不是很强,因此,我试图回避,除非避免引入比我需要的更多复杂性是绝对重要的.

如果您无法通过我选择的缩写来判断,这是在.NET版本(C#)中,但我认为这与问题没有多大关系.


编辑:根据我典型的Raybell魅力,我在问题中一直过于罗嗦或误导.我想道歉.我提供了一些背景知识,以帮助提供关于我在做什么的线索,而不是误导人.

我基本上正在寻找关于何时使用子字符串及其变体的指南,而不是正则表达式,反之亦然.虽然有些答案可能已经错过了这一点(我的错也是如此),但我真的很感激他们并且相应地进行了投票.

regex string parsing

18
推荐指数
2
解决办法
8468
查看次数

如何测试解释器或编译器?

我一直在尝试为Brainfuck创建一个解释器,虽然很容易制作和启动并运行,但我的一部分希望能够针对它运行测试.我似乎无法理解可能需要编写多少测试来测试所有可能的指令组合以确保实现正确.

显然,使用Brainfuck,指令集很小,但我不禁想到随着更多指令的添加,您的测试代码将呈指数级增长.比任何速度的典型测试都要多.

现在,我就像编写编译器和解释器一样可以得到新手,所以我的假设很可能会偏离基础.

基本上,你甚至从哪里开始测试这样的东西?

compiler-construction testing interpreter brainfuck

11
推荐指数
1
解决办法
671
查看次数

您使用哪些最佳实践来测试数据库查询?

我目前正在测试我们的解决方案,该解决方案具有完整的"色域"层:UI,中间和无所不在的数据库.

在我到达现有团队之前,查询测试由测试人员手动制作查询完成,这些查询理论上会返回存储过程应根据各种相关性规则返回的结果集,排序,你有什么.

这会产生针对测试人员查询的错误的副作用,而不是针对相关的实际查询.

我提议实际使用一个已知的结果集,你可以推断它应该如何返回,因为你控制了存在的数据 - 以前,数据是从生产中提取,消毒,然后填充在我们的测试数据库中.

人们仍然坚持创建自己的查询来测试开发人员创建的内容.我怀疑还有很多人.在我看来,这根本不理想,只是不必要地增加了我们的测试足迹.

所以,我很好奇,您使用哪些实践来测试这样的场景,以及在不引入混乱数据的情况下,您可以获得最佳端到端覆盖的理想选择?

我遇到的问题是进行测试的最佳位置.我是否只是直接戳服务,并将该数据集与我可以从存储过程中提取的数据进行比较?我有一个粗略的想法,并且到目前为止已经取得了足够的成功,但我觉得我们仍然缺少一些重要的东西,所以我希望社区能够看到他们是否有任何有价值的见解可能有助于制定我的测试方法更好.

database tdd integration-testing end-to-end

9
推荐指数
1
解决办法
7377
查看次数