据调查显示,代码审查工作有助于提高软件开发质量,然而许多开发者却不愿意在他们的团队中实施代码审查工作,本文主要分析了开发者为什么会抵制代码审查工作的原因以及为什么他们会有此想法,目的是为了引导开发者加入代码审查工作。
代码审查究竟是什么样的工作呢?通常情况下它是指否决质量的一种过程。大量统计数据表明代码审查极大的提高了软件质量以及降低了技术风险,不仅如此,它还降低了开发成本。
一起来看下代码审查工作所带来的好处:
如图所示,代码审查工作带来这么多的益处,那为什么还有一些开发团队拒绝这一做法呢?我们一起来分析下原因:
文化问题或许已成为一种巨大的障碍,大部分开发者会厌恶代码审查是因为他们无法忘记那些痛苦的审查会议,更槽糕的是,他们害怕因劣质代码而遭到管理 者的批评与指责(这个通常是管理者自身的原因,而不是坏代码)。代码审查工作有助于提升团队自身能力,我们应该持积极态度,而不是为了找机会来贬低同伴。
另一种可能性,当大家相互协作、积极互动时,管理者会误认为大家在“聊天”。敏捷性团队已经意识到快速创建软件工作需要积极的互动与协作。他们认为坚持代码审查工作,是通向成功的秘诀。
第三种可能性误解,开发者利用静态分析工具来查找bug,以致代码审查工作成为不必要性。然而事实并非如此,Capers Jones,一位软件质量度量领域的巨人,曾发表过一篇文章“结合视察、静态分析和测试能消除影响效率缺陷的95%”,这种三叉戟式的方法最能确保软件质量。
静态分析只是其中的一个分叉。
静态分析工具有着很大的局限性,包括无法辨认出一些疑似代码,比如,静态分析工具不具备标记功能,因为它无法确定一个函数名为getRandomNumber是否应该总返回相同的值(with a hat tip toXKCD)。
1
2
3
4
5
|
Int getRandomNumber()
{<
return 4;
}
|
也许代码审查最大障碍是恐惧。开发者担心错过最后期限,害怕分心,害怕投入过多时间。要知道,这些都是愚蠢的想法,代码审查的目的是在前端开发过程中最大限度的提高代码质量以及帮助你缩短开发周期。
最后,我认为,调用一个进程(代码审查工作)能够促进团队合作,提供指导且有助于技能的发展,鼓励开发者熟悉代码的基础部分,最终可达到提高整个软 件质量。当然,如果您想快速输入代码,可以考虑一些代码审查工具,前提是,你要确保该工具是轻量级并且有趣。一旦你习惯了使用该工具便有了依赖性(许多使 用代码审工具用户都这么认为)“我们无法想象没有编码工具的日子”,我想你会发现它们的价值所在。
无论如何,请记住,拒绝代码审查是不可取的。
英文出自:softwarequalityconnection
转载自 伯乐在线 http://blog.jobbole.com/16416/
分享到:
相关推荐
2024版,React18+ Nest.js 全栈开发仿问卷星项目,无论是传统的开发方式还是低代码开发,一个复杂的应用系统实施成功都绝非易事。我们可能遇到的几个主要问题: 项目规划不周。在项目开始阶段,如果没有做好整体规划...
软件开发人员不愿意写文档,我想这主要指的是刚参加工作时间不长的工作人员。真正的老鸟是不会这样的。我说说自己的看法,希望大家讨论。 1、软件开发的大环境不好 软件开发行业在中国的兴起也是十几年的...
从技术上来说,我是从2020年4月11日开始的,但是到目前为止,我一直对真正开始一个项目感到非常抵触。 为了弥补丢失的时间和天数,我将进行补时,发布多天(如果没有的话),为此挑战增加一两天。 我将使用HTML,...
《Scrum敏捷软件开发》是软件企业及其管理团队成功进行敏捷转型战略及实施的必备参考书,适合经理、开发人员、教练、ScrumMaster、产品负责人、分析师、团队领导或项目领导,是帮助他们成功完成项目,甚至造就敏捷...
分析团队成员抵触敏捷的原因,文章有所参考及引用,主要作为个人学习的整理资料以作知识储备
每周炼化:下游抵触高价货源.pdf
作为一个软件公司,开发团队非常重要,作为一个开发团队,人员配备、开发效率等都非常重要,但是开发效率包含很多,如:代码质量(扩展性、重构性等),但是这些都是建立在规范的代码之上来进行,在一个团队中,每个开发者都有...
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合...
人们抵触Scrum转型有很多不同的原因。有些人抵制可能是他们安于现在的工作和同事。他们花了很多年才达到了企业中现在的地位,在这个的团队中,为现在的经理工作,或是确切地知道每天该如何做自己的工作。其他人抵制...
许多技术人员在面对.NET Framework 3.0/3.5大量的新知识、新技术的时候感到彷徨,对自己现有的技术知识是否过时会产生疑问,对新技术会产生抵触的情绪,其实,只要能学习到真正代表业界趋势的技术,花不太多的时间...
+如何面对幼儿在学习钢琴中的抵触情绪.zip
许多技术人员在面对.NET Framework 3.0/3.5大量的新知识、新技术的时候感到彷徨,对自己现有的技术知识是否过时会产生疑问,对新技术会产生抵触的情绪,其实,只要能学习到真正代表业界趋势的技术,花不太多的时间...
大数据环境下抵触申请作为创造性判断对比文件研究.docx
销售绩效管理计划,让员工受到激励而非产生抵触.docx
操作可行性指开发的手机应用操作复杂性和管理复杂性。...另外,作为开源的手机应用,-在法律政策方面与相关规定不存在抵触,符合上市审核标准规范。故,本文所讨论的Android电子词典在操作上是可行的。
对早恋叛逆考试焦虑症抵触老师等现象的分析和解决案例.docx
参考资料-销售绩效管理计划,让员工受到激励而非产生抵触.zip
linux操作系统下,vi编辑器使用起来实在令人抓狂,适应了一个月,还是有抵触心理。正好这段时间在学c语言,于是用vi和gcc自编完整全屏幕编辑器,命名为ed;上传全部1.0版完整源代码,毫无保留,有兴趣可继续完善开发...
行业-基础化工行业周报:出现高价抵触现象,建议沿着双主线选股.rar