您是否可以深入了解用于确保解决方案质量的技术。例如,有时候,我喜欢使用stopifnot()
来测试我的结果,以确保我没有收到荒谬的结果。您是否有任何其他技术或功能用于数据处理,以确保您收到您想要的解决方案?
注意:我意识到这是一个广泛的问题,可能是社区维基甚至关闭的候选人,但不是投票结束,也许通过添加评论来指导对话来帮助我。
答案 0 :(得分:3)
只会想到一些事情(按随机顺序)
This page在R中有非常有趣的调试链接(确定这是在制作过程中,但我认为仍然与您的问题有关)
您可以使用例外in this discussions(及其中的链接)
您可以编写具有已知结果的测试(包括成功和失败),并看到他们实际上做了他们应该做的事情。请务必将一些奇怪的数据传递给函数,并查看它们在“不太正常”的情况下的行为。
不要只依靠自动化测试:将你的功能交给一个相当计算机文盲的人(不足以让他/她不能使用R!)并让他/她做一些beta测试。你会惊讶于他/她会想出的错误数量! :)
答案 1 :(得分:3)
Quality in software engineering是一个相当大的领域,其中大部分都适用于用R语言编写的代码和用Cobol或C#编写的代码,因此我的第一个答案是“它取决于”。
对我而言,我来自制药行业,我们所做的工作受到FDA和MHRA等政府机构的监管。对我们来说,质量是我们在整个过程中考虑的事情,因此我将以下列为可见的质量工件;
然而,这是一个很重要的清单,我想他们的许多行业并不是全部(金融,教育),也可能是一些人做得更多(建造核反应堆,拯救生命,NASA)。
更具体地说,我假设你已经开始,在你编码之前,你应该能够定义一些特定的起始输入和你应该得到的答案,我建议你使用RUnit或{ {3}}建立这些。