我们正在寻找在开发软件时改进内部流程的方法。
我们已经采用了TDD连续集成和敏捷。视觉工作室或TFS的任何模糊功能?
欢迎所有建议。
答案 0 :(得分:6)
我认为不可能有灵丹妙药。美丽(或在这种情况下,质量)是旁观者的眼睛。
话虽如此,我可以就一些确保代码质量的方式给出一些建议。
一个建议可以是将代码覆盖率纳入您的软件质量评估中。为您的代码编写单元测试是一回事,但代码覆盖可帮助您确定测试实际“覆盖”了哪些代码,这有时可以识别您可能未考虑过的用例/场景。我建议您调查nCover。
您可能还希望深入挖掘并研究使用nDepend ...
NDepend是一种简化的工具 管理复杂的.NET代码库。 架构师和开发人员可以分析 代码结构,指定设计规则, 计划大规模重构,做到有效 代码审查和掌握进化 比较不同版本的 代码。
我感谢这些不是TFS功能,但您可以使用TestDriven.NET
轻松地将它们“集成”到您的visual studio环境中这当然不是详尽的清单 - 您需要找到适合您的内容并让您对代码的质量充满信心。
希望这有帮助,
答案 1 :(得分:4)
这是一个有用的清单:http://www.joelonsoftware.com/articles/fog0000000043.html(Joel Spolsky的“乔尔测试:改善代码的12个步骤”)
答案 2 :(得分:1)
如果您确实没有任何操作,并且您拥有资源,则可以尝试代码审核。此过程包括在每次(实际)提交之前仔细检查代码。这有助于在开发过程的早期发现错误。谷歌正广泛使用这项技术。
可悲的是,支持这类程序的工具非常基础,目前难以使用。如果你进行谷歌搜索,你会找到一个或两个简单的TFS代码审查工具。
但要小心。这些技术无法帮助您单独制作好的软件。你仍然需要一个好的架构,质量代码等。(好吧,TDD有助于代码质量,但架构仍然是一个灰色区域。)我不知道有任何技术可以帮助当前,也不会损害开发过程许多。你必须等到Visual Studio 2010推出所有模型验证,自动uml图生成等等。
答案 3 :(得分:1)
我个人相信code reviews。一些优点是:
if
条件,奇怪的类型转换等)。< / LI>
null
),这可能介绍错误。我不相信在任何工具中,这些工具都是特殊的silver bullet - 这不是真的。
答案 4 :(得分:1)
答案 5 :(得分:1)
你实施TDD,CI和敏捷是件好事。只是拥有任何一个过程远比我见过的许多地方好。代码审查可能是早期传播知识和充实缺陷的最佳方式。
但是,对于我的钱,坚持基础。如果您没有进行需求管理,则应该考虑它。在开始sprint或开发周期时,您应该知道客户的要求是什么。对这些内容进行审核并发现您的衍生需求(如果有)。最后,您应该想出一种方法来验证1)您构建了您想要的所有内容2)您测试了客户要求的所有内容。有一些过程可以做到这一点,但如果你能找到一种对你有益的方法,那就去做吧!
RM比代码审查花费更少的时间,并捕获“非常大”的错误。
答案 6 :(得分:0)
如果您已经采用了TDD,CI和Agile并且无所事事,那么您可能是最幸福的人。)我认为您在TDD和敏捷实践方面有很大的流程改进领域。