在您的“企业”工作环境中,工程师如何负责执行代码检查和单元测试?您遵循哪些流程(正式方法或自定义流程)来确保软件的质量?你有没有尝试过为可交付项目实现开发人员的“签收”表?
提前感谢!
更新:我忘记提到我们正在使用Code Collaborator来执行我们的检查。问题是让人们“理解它”,并在核心群体之外购买它们。正如stalbot在下面指出的,这是一种文化变化,但问题变成了,你如何改变你的文化来促进质量倡议,如审查/单元测试?
发布于 2008-11-06 21:31:41
如果你想确保每个变更列表都能被审核,那么你可以让你的源代码控制工具拒绝未审核的签入。 checkin,。例如,触发器可以拒绝签入注释中没有"CodeReview:“的签入。虽然人们仍然可以说谎,但他们也可能被追究责任。
如果你想确保每个变更列表都得到审核, after checkin,,那么你可以看到Code Collaborator是否会很好地处理你的源代码控制系统,并在每次签入后自动生成一个审核任务(推送或拉入;无论如何)。在那之后,使用Code Collaborator拥有的任何“礼貌的烦恼”特性,以确保审查真正完成。
如果你想让人们只评论一些签到,而不是签入,<>E221,那么祝你好运。
发布于 2008-11-06 16:15:33
·我们公司使用同行代码评审。我们将它们作为一对一的审查进行,并邀请团队的测试人员参加会议,以更好地了解更改。我们使用源代码控制软件,它要求签入、代码审查规则需要签字。没什么大不了的,只是另一个审查过代码的开发人员的名字。
·正如几项研究所证明的那样,代码审查有明确的好处。对于我们公司来说,很明显,代码质量随着支持呼叫数量的减少而增加,报告的错误数量也减少了。注意:这里的一些好处是实现Scrum和放弃瀑布的结果。在下面的Scrum上有更多。
·代码审查的好处可以是更稳定的产品,更容易维护的代码,因为它应用于结构和编码标准,它允许开发人员更多地关注新功能,而不是“救火”错误和其他生产问题。如果代码审查是“正确”的,那么就不会有任何缺点。在下面的“正确的方式”上有更多。
·在实现代码审查时需要克服的一些障碍是“老大哥”在监视我的想法,以及没有完美的代码意味着折磨和痛苦的想法。让开发人员彼此信任有时是困难的,特别是当它涉及到“等级”或“比你更神圣”的态度时,并将您的辛勤工作置于显微镜下。信任是解决这些问题的关键。开发人员必须相信,他们不会因为代码中的错误而受到同行或管理层的惩罚。这种事谁都会遇到。记下这个问题,解决它,然后继续前进。
Scrum 使用Scrum方法的好处之一是开发周期(“”)很短。“冲刺”的时间框架是由最适合你的组织的决定的,需要一些试验和错误,但实际上不应该超过四周的迭代。好处是,它需要开发人员每天沟通,并在项目早期沟通问题。这最初是由我们的开发部门采用的,随着scrum的好处深远,它已经扩展到我们公司的所有领域。有关详细信息,请参阅:http://en.wikipedia.org/wiki/SCRUM或http://www.scrumalliance.org/。由于开发迭代较小,代码审查过程审查较小的代码片段,使得审查比几个小时或几天的正式审查更有可能发现问题。
“正确的方式”代码审查“正确的方式”是完全主观的。然而,我个人认为它们应该是非正式的,超越肩膀的审查。评审的所有参与者都应该避免用诸如“你为什么那样做?”这样的声明来攻击被评审的人。或者“你在想什么?”这些类型的评论减少了同行之间的信任,导致了敌意,就编码解决方案的最佳/正确方式进行了数小时的争论。请记住,开发人员的想法或代码并不完全相同,对于一个问题,有许多解决方案。只是稍微澄清一下过肩评论;这些评论可以通过远程桌面共享(在这里选择风格)进行,也可以亲自进行。然而,它们不应该仅限于开发人员。我们通常邀请整个scrum团队,每个团队由两名开发人员、一名测试人员、一名文档编制人员和产品负责人组成。所有非开发人员都在那里,以便更好地了解正在进行的更改或新功能。他们可以自由地提出问题或提供输入,但不能做出编码决定或评论。这是有效的,因为某些问题可能会被问到,这些问题可能会改变项目的方向,因为最初的需求可能遗漏了一个场景,但这就是敏捷的全部,改变。
Suggestion我强烈建议在授权之前先研究scrum和代码审查。为每个人创建基本规则,并将其作为文化的一部分实施,以实现更高质量的产品。它必须成为你的文化的一部分,这样它才能成为自然过程的一部分,并在所有层面上整合,因为它是一个范式转变,从低质量,错过最后期限和挫败感,到更高质量的产品,更少的挫折感和更及时的可交付成果。
发布于 2008-11-06 15:08:16
我们有一个很酷的设置。程序员应该在签入之前测试他们的代码,以确保它不会破坏构建,并在他们有意义但不需要高覆盖率的地方编写测试。
复杂的方法预计会被注释。
在阶段结束时,整个团队都会审查代码。
https://stackoverflow.com/questions/268990
复制相似问题