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
Design patterns 关于最佳编程实践主题的循证研究?_Design Patterns_Tdd_Agile - Fatal编程技术网

Design patterns 关于最佳编程实践主题的循证研究?

Design patterns 关于最佳编程实践主题的循证研究?,design-patterns,tdd,agile,Design Patterns,Tdd,Agile,在寻求关于良好编程实践的建议时,典型的答案是敏捷软件开发、测试驱动开发或设计模式的变体。然而,据我所知,这两种方法都不是用科学方法证明的(如果我在这方面错了,请随时纠正我) 我想知道,在基于证据的开发实践这一主题上有什么好的资源吗?已经有一些关于特定敏捷实践的影响的研究,但肯定是粗略的。在设计模式方面可能也有类似的工作水平 我放在这里的链接并不是确定的,但有一些价值,也参考了其他可能值得一看的研究 阅读这些文章的部分价值在于理解你所提出的问题有多么复杂和困难 事实上,最重要的证据将由你自

在寻求关于良好编程实践的建议时,典型的答案是敏捷软件开发、测试驱动开发或设计模式的变体。然而,据我所知,这两种方法都不是用科学方法证明的(如果我在这方面错了,请随时纠正我)


我想知道,在基于证据的开发实践这一主题上有什么好的资源吗?

已经有一些关于特定敏捷实践的影响的研究,但肯定是粗略的。在设计模式方面可能也有类似的工作水平

我放在这里的链接并不是确定的,但有一些价值,也参考了其他可能值得一看的研究

阅读这些文章的部分价值在于理解你所提出的问题有多么复杂和困难


事实上,最重要的证据将由你自己的经验提供,如果你被说服尝试其中一些做法。你也很难量化,但你可以决定这些实践是否适合你。

如果你真的对此感兴趣,那么最好的信息来源就是学术期刊或IEEE,正如donroby提到的那样。如果你拥有大学学位,并且仍然是校友会员,那么你可以通过大学图书馆获取信息(至少在澳大利亚是这样。校友可以在大学图书馆获得便宜的会员资格,并获得学生使用的大量资源。)

编辑:
大部分信息不是实验性的,而是对项目和调查的研究。你不可能把科学方法真正应用到这类事情上;它更接近社会科学,而不是像化学和物理这样的硬科学

我所知道的关于软件工程科学证据的最好的综合参考是。这本书简明扼要,引用了原始资料(或者说没有),写得很好,而且不贵

第二个最好的参考是,但它要长得多,而且它不太关注证据本身。不过,这是一本必读的书


阅读完这两本书后,还值得一看IEEE软件杂志上的“证据之声”系列文章。

似乎太宽泛了,也许你应该更具体地说明你感兴趣的实践。有一些关于敏捷的实证研究。我不认为在软件工程中有任何真正的科学证据,只是它不是一门科学,比如数学。我不明白为什么它不可能。例如,让一个组使用旧的瀑布方法解决分配问题,让另一个组使用迭代方法解决分配问题似乎是可行的。然后比较结果。是的,你可以这样做,有些人在小范围内这样做,但你必须对许多组进行比较,以获得任何类型的统计有效性,因为除了所使用的方法之外,还有其他变量在起作用。&@donroby——更不用说在工业中实际进行适当数量的这些实验所涉及的成本了。我希望看到一位PM向高层管理层解释,两个并行开发团队将延迟交付。一个团队因为初始范围包含基本错误,另一个团队因为设计是一堆s*#t。也许可以组建第三个团队将这两次尝试拼凑在一起?+1@donroby还需要注意的是,仅仅因为它失败了或为该人工作了,并不意味着在其他项目或其他人中也会如此。需要大量的经验加上强烈的客观思考,才能在这些问题上获得有价值的见解。@eglasius-是的!或多或少地,我试图用“最重要的证据将由你自己的经验提供”来表达我的意思。为什么调查不是实验性的?你认为他们是通过将一些测量装置挂在患者身上来测试止痛药,还是询问/调查疼痛程度?对不起,我不打算开始这些辩论。