钥匙要点
- 代码审查是对计算机源代码的系统检查,旨在在初始开发阶段找到和修复错误,从而提高了整体软件质量和开发人员的技能。可以以各种形式完成,例如配对编程,非正式的演练和正式检查。
代码审查不仅减少了代码中的缺陷数量,还可以增加协作,帮助团队建设,改善开发人员之间的“兄弟情谊”,并在团队或部门中传播最佳实践和技能。
- >代码审查的最佳实践包括知道常见错误并积极地与之抗争,由具有同等技能或更高技能的人对代码进行审查,使用清晰的里程碑审查较少的代码,收集指标,并注意社交方面,其中寻找错误是好的的社交方面,还不错。
- >本文强调不要将代码审查视为负面或浪费时间,而要改善日常工作流程的重要性。它表明,如果您的团队今天不使用它,请建议,因为任何类型的代码审查总比没有好。
>
每个开发人员都知道平庸的错误的痛苦。这里是一个错误的属性,那里是一个拼写错误的物业,这是一条意外重复的代码线,您错过了,因为您去过的咖啡供应了16小时的黑客马拉松。即使是在开放式PHP标签之前,您也不小心放置在此之前,因为您开始在基于地狱的Java的IDE上键入并重新定位光标,如果您疲倦且分心,光标可能会使您连续抓挠头部几个小时。如果只有一双新鲜的眼睛可以看一下您的所作所为,那么这些错误肯定很容易避免?
Wikipedia定义了代码评论如下:
>代码审查是计算机源代码的系统检查(通常称为同行评审)。它旨在查找并解决在初始开发阶段所忽略的错误,从而提高软件的整体质量和开发人员的技能。评论以各种形式进行,例如配对编程,非正式的演练和正式检查。
这个定义是这样精确的 - 从更多的外行术语中,代码审查只是让别人查看您的代码以找到您错过的错误的行为。
代码评论的类型
正如Wikipedia定义所暗示的那样,有许多不同的方法来审查缺陷的代码。这是其中一些的快速分解:
ot(在肩膀上)审查 - 这是小团队通常如何处理代码评论的方式。开发人员将编写大量的代码,并致电另一个开发人员查看它。另一个开发人员坐在那里,而第一个开发人员解释了他的所作所为,逐行。通过这种叙述,最初的开发人员注意到了他自己的一些错误并解决了这些错误,OTS开发人员注意到了其他人,并将其指出了第一个。他们还分享了有关某些问题的解决方案的意见,这些问题有时在审核过程完成后有时会重做,再次要求进行审查。如果开发人员遥远,则可以通过屏幕共享软件和语音聊天轻松完成此操作。- >
- >工具辅助评论 - 在线和离线都有各种工具来协助代码审核。虽然提供的各种工具详细介绍了本文的范围,但我们可以概括并说有付费版本(Atlassian Crucible,CodeCollaborator),免费版本(审核板),或者,如果您是独自开发人员,则社区版本(堆栈交换代码评论)。无论使用哪种工具,每个工具都具有几乎相同的目的 - 它可以检索源代码的最新更改,并将其标记为需要审核。同行(这意味着具有同等技能或更高技能的开发人员),然后审查代码,将其标记为审核或标记发现并提出建议的任何错误,并通过将其发送回原始开发人员来完成或重新引导该过程。同样重要的是要注意,许多受欢迎的IDE都有代码审核插件。
>
- 配对编程 - 一种非常动态的代码审查类型,Pair编程是两个开发人员的热座“游戏”,其中一位开发人员代码和另一个开发人员坐在他旁边。经过几百条代码或达到预定的里程碑后,它们会短暂休息并切换位置。现在正在编码的人观察到,而先前观察到的编码的人现在进行了编码。这对于避免错误和提高整体代码质量非常有效,但其成本是人力的两倍。许多公司还没有为这种风险做好准备,不幸的是,除了“两个机器上的两个人的工作要比一台机器上的两个人多”,但无法思考。正是这种类型的评论产生了最佳结果:不仅避免了错误,而且两个开发人员直接协作并分享有关解决方案的解决方案的想法,以解决他们遇到的问题。在不习惯的团队中,这种评论很难实施,这也是什么都不值得的 - 它主要适用于年轻的团队。
顺便说一句,还有一种正式的评论,由迈克尔·法根(Michael Fagan)在1970年代首次引入和研究(这种方法也称为法甘检查),现在有些古老,在行业中不受欢迎。正式检查很少用于小型团队,主要用于数百万美元的产品,因为它在精神上非常激烈和昂贵。它包括几个人(最多六个)与投影仪一起坐下,并一起审查代码。每个参与者都被分配一个角色(例如读者,主持人或审阅者),当团队注意到任何形式的错误或缺陷时,一切都在很大程度上详细介绍了 - 从严重性到实际的代码行,以及原因和原因和效果,即使该错误的预测成本也覆盖了客户。这是迄今为止最专业的代码审查类型,也是对开发人员最挑剔的审查,因此并非广泛采用。研究表明,如果使用正确的话,其他代码审查方法也同样有效,而无需将这么多人绑好。
>代码评论的最佳实践
一旦决定实施代码审查,可能会有一些障碍要克服。管理层可能没有看到额外时间审查所花费的理由,或者有些程序员可能认为审查是对他们努力创建的代码的个人攻击。在实施代码审查时,您可以牢记一些技巧。
- 知道您的常见错误并积极与之抗争。工作时,每个开发人员都会出现错误,无论他在区域中有多深,他都会犯错。我们每个人都有这个小故障,这简直是愚蠢的,并被别人彻底注意到。注意这些滑动。忘了过滤输入…再次?忘了再次评论一种方法…?有了这样的列表,开发人员可以在呼吁审查之前积极捕捉这些错误。这被称为自我效应 - 您知道您的代码即将被审查,并且您不想听到审稿人说:“噢,您忘了再次过滤输入!”您想成为摇滚明星,忍者,让别人说“哇,这实际上是一个很好的解决方案”的人。自我效应将促使您在其他人甚至有机会查看它之前改善代码。
- 同行代码审查是指具有同等技能或更高技能的人进行审查。正如常识应一样,当初级审查高级代码时,代码审查无法正常工作。大三学生可能会注意到一些通常的差异,违反标准错别字,甚至输入过滤等错误,但通常无法识别出更大的问题。如果尚未出现,这通常需要由团队中的技能来定义层次结构。
>- 较少的代码和清晰的里程碑意味着更好的评论。仅在达到个人里程碑后才能对代码进行审查,并且这些里程碑应该很小,并且应该经常发生。在面向对象的编程中,这尤其重要,但也尤其可行。完成了一个新组件,该组件扩展了一个接口,该界面连接到已经审查的适配器中?最终解决了一个特定的方法,该方法一直在困扰该部门一个星期?伟大的!组件按组件,一次将其保持在最多700-800行的代码(注释),这是产生绝对有效的审核过程的原因。保持您需要审查的代码简短,简洁和独立,并在想法仍然新鲜的同时尽快进行审查。请记住 - 时间很贵,所以不要花太多时间!一个小时应该足以执行此“部分审查”。
- 收集指标。如果您使用更结构化的代码审查(例如工具辅助或正式),但也可以在OT中进行,这会更容易。尝试记录您通过给定的代码和时间单位数字数字发现的错误和滑倒的数量和类型。将这些数据汇总在开发人员之间,并轻松找出谁需要最多的帮助,谁违反了最多的标准以及您实际上通过进行代码审查为公司节省了多少钱。很快,您将能够实际量化代码审查的实用性,直到这样,公司中的每个人都会对其进行积极的兴趣。这通常是实施审查中最困难的部分,因为很少有开发人员对手动统计有耐心,但是如果采用了手动统计。
注意社会方面 - 寻找虫子是好的,还不错!必须记住,找到错误是好的,不是坏事。切勿污名化或挑出犯错的开发人员,将其定为非正式。让人们适应代码审查 - 帮助您的同龄人接受,而不是害怕。代码审查不仅可以有用 - 也可能很有趣。请记住,更多的时间和更困难的任务等于更多的错误 - 错误的数量并不表示开发人员的技能!如果您是经理或团队负责人,请确保没有人将代码审查视为负面或浪费时间。确保他们不认为公司被公司执行,而是对他们日常工作流程的改进,无论他们在工作中如何,他们都应该保留。只要可能,请努力采用个人代码审查方法。如果您使用的是工具,请在OT中使用它们。在接受代码审查作为您的朋友的过程中,相互集思广益和非正式讨论的个人方法是无价的。-
总结
代码审查可能难以实施,尤其是在不习惯的老式老式团队中。但是,一旦完成,它不仅会减少代码中的缺陷数量,还将增加协作并帮助团队建立,改善开发人员中的“兄弟情谊”,并传播最佳实践和整个团队或部门的技能。任何类型的代码审查总比没有好,因此,如果您的团队今天不使用它,请提出建议。它只能有所帮助。如果您是一个独奏开发人员,请找到一种亲切的精神来查看代码 - 在线,社交,扩展您的开发圈,团队。不要将其他开发人员视为竞争,并在代码评论中作为您的敌人,请将其他带有代码审查的兄弟之类的人视为完美的前线武器。
通过fotolia
图像
经常询问有关代码审查的问题
>
>代码审查在软件开发中的重要性是什么?
代码审核是软件开发中的关键过程,涉及检查其他开发人员的代码是否有错误,错误或任何潜在的改进。它有助于保持高标准的代码质量,确保代码可以被他人阅读和理解,并培养团队之间的知识共享。代码审查还有助于在开发过程的早期捕获和修复错误,从而减少了后期错误修复的成本和时间。
>进行代码审查的一些最佳实践是什么? >进行代码审查的一些最佳实践包括了解代码的上下文,重点关注代码的逻辑和结构,而不是编码样式,提供建设性的反馈,而不是急于审查过程。让合适的人参与审核过程也很重要,通常是那些熟悉代码库和要审查的特定功能的人。
>
>如何使我的代码审核更有效?为了使您的代码审查更加有效,您应该确保您的代码具有自我解释,有据可查,并遵循团队的编码标准。您还应该将更改分解为易于审查的小块。此外,使用代码审核工具可以帮助简化审核过程并提高审核过程。包括不彻底审查代码,过多地关注编码样式,而不是代码的逻辑和结构,而不是提供建设性的反馈和匆忙审查过程。不要让合适的人参与审核过程也是一个错误。
>
> PHP的一些好的代码评论工具是什么?这些工具可以帮助自动化代码审核过程,捕获常见的编码错误并强制执行编码标准。
>
>我如何准备我的代码以进行审核?
以准备您的代码以进行审核,您应该应该确保其清洁,有据可查,并遵循团队的编码标准。您还应该将更改分解为易于审查的小块。此外,您应该提供清晰简明的更改摘要,以帮助审阅者了解您的代码的上下文。
>
>在提供反馈时,我如何在代码审查中提供建设性的反馈?在代码审查中,您应该专注于代码,而不是人。在您的评论中要具体而清晰,并提供改进的建议。在您的反馈中保持尊重和专业也很重要。
>
在代码审查中如何处理反馈?不要亲自接受反馈。将反馈视为学习和提高您的编码技能的机会。如果您不同意评论,请与审阅者讨论以了解他们的观点。
我应该多久进行一次代码审查?
>代码审查的频率可能会根据团队和团队而有所不同。项目。但是,通常建议定期进行代码评论,例如每周一次或每个主要功能或错误修复。定期的代码审查可以帮助捕获和修复开发过程的早期错误。
>代码评论可以改善团队协作吗?
是的,代码评论可以显着改善团队协作。他们促进了团队之间的知识共享,有助于在整个代码库中保持一致的编码样式,并创建集体代码所有权的文化。代码评论还为初级开发人员提供了向经验丰富的团队成员学习的机会。
以上是PHP主|代码审查的重要性的详细内容。更多信息请关注PHP中文网其他相关文章!