说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

寓教于乐 给代码审查者的几点建议

HTML文档下载 WORD文档下载 PDF文档下载
代码审查涉及四大领域,开发者自身、审查者、学习者以及传教者。可以说,贯穿整个技术和知识领域。本文我们将阐述这四者之间的关系,并给代码审查者提出几点建议,更好的为你的项目和团队做贡献。

原文作者Anna Gos发表了一篇博文《Code review FTW》,以下为译文:

在软件开发项目中同行代码审查是一种常见的做法。有人认为,代码审查有助于识别潜在的Bug以及规范项目编码标准。虽然我不同意这个观点,但不可否认的是代码审查对项目和团队的确有很大帮助。代码审查涉及四大领域,开发者自身、审查者、学习者以及传教者。可以说,贯穿整个技术和知识领域。


Teaching + Programming (教学+编程):代码审查为你提供与同伴分享编程知识的好机会。在这里不是为了炫耀你学到的最新技巧,而是去帮助改善另一名开发者的技能。作为一名程序员你可以积极的贡献出个人的成长历程,提供最宝贵的经验反馈。利用特定的技术或者引入具体的项目实践是指导新手的两大最有效方法。

Teaching + Domain(教学+域):大多数内置的软件项目具有不平凡的域特点。 一个不平凡的域需要大量的模型来表示其行为和代码属性。由于代码的模型行为和属性是两个密不可分的部分。因此,审查者在整个域建模思路中扮演一个极其重要的角色。

Learning + Programming(学习+编程):开发者在代码审查上会利用不同方法来解决问题。观察和理解其他程序员编写的代码是改善代码风格、掌握技术、了解新的类库以及学习新的模式最有效的方式之一。

Learning + Domain(学习+域):在代码中捕获信息是学习域的概念和整体功能一项最基本的资源。代码实际上是一个软件系统最详细的文档列表。理解性的阅读代码能够有助于扩展理解系统以外的内容。

大多数开发者会在代码审查领域中游离,因为他们想成为更好的程序员以及学习更多的域知识。尽管有些开发者有机会学到更多,但他们常常会因此而感到满足。如果一名开发者在某个项目中采用新技术(除了这个领域的专家),他将扮演两个角色。在某种情况下审查者会发现自己同时处在四个领域。意识到这些领域的优势是做代码代码审查最宝贵的经验,无论审查者的资历水平如何。

给代码审查者的几点建议:

让团队中的所有开发者拥有代码所有权——作为开发者,我们喜欢在家编码的感觉。代码审查从代码所有者切换至团队作者,他们拥有共同的利益。这种关系的转换使得整个团队都在为代码质量而负责,任何一名团队成员都应积极拥抱变化。此外,在极限编程中还涉及到共享代码(或集体代码所有权)问题。

逐步提高开发者的编码技能——同行审查能够提高团队的平均技能水平。此外,它还具备了无形的压力促使开发者更写更好的代码。

传播域知识——理解从代码中捕获的功能有助于在整个团队成员之间传播(共享)系统知识。它使整个团队间更有凝聚力,有效避免了任何一名开发者在任意系统工作领域中“挑三拣四”的情况发生。

培养集体智慧——团队整体完成的项目质量要远远高出开发者独自完成工作的总和。每位开发者都可带来不同的技能,实现协同编程,为团队“添砖加瓦”。

代码审查是我最喜爱的团队建设活动之一。它不仅是关注代码,而且还能见证整个团队的成长。值得一提的是,结队编程常被看作是代码审查的一种极端形式,这是一种值得推崇的代码审查方式。

英文出自:Anna Gos

环信即时通讯云获3000万融资 用于研发运维 苹果谷歌都无力?前员工开发跨设备无缝同步应用 带你看会带你飞!MDCC 2014移动开发者大会参会指南 Meteor 1.0发布 构建更好的Web应用 【专访】敏捷专家吴穹:敏捷测试的行业应用与实战解析 英特尔中国研究院最新成果亮相 展示智能衣服瓷杯机器人等创新作品 Node.js 打造实时多人游戏框架 深圳微信开发者大会购票企业特征分析 上门汽车服务“e保养”完成A轮500万美元融资 Docker之父Solomon Hykes谈项目开发的初衷和挑战 浪潮是如何实现单日5000台x86服务器交付互联网的? Bootstrap 3.3.0发布 版本4不再支持IE8 漏洞预警:FTP曝严重远程执行漏洞 影响多个版本Unix 【简讯】W3C小组宣布HTML5标准制定完成 AMD发布GPUPerfAPI 2.14,GPU性能检测更Easy! 开放能力升级——微信公众号登陆授权开启公测! 百度最“智能”的新型推荐技术——智能因子分解机 消灭Bug!18款最佳的问题跟踪管理应用程序 Google Analytics为什么会这么快 【MDCC 2014】Xamarin深入体验营——开发实战大揭秘 【MDCC 2014】电信技术专场:运营商与开发者如何合作共赢 【MDCC 2014】高德LBS大赛闭幕式暨颁奖典礼:下一个50亿应用花落谁家? MDCC 2014移动开发者大会开幕:全生态系统齐聚 开发者成主角 蓝港互动有限公司董事长&首席执行官王峰:移动互联网泛娱乐化趋势 多盟联合创始人&总裁张鹤:多盟DSPAN助力开发者高效变现 创新工场联合创始人汪华:移动互联网时代的跃迁式增长 阿里巴巴集团UC移动事业群总裁俞永福:AMAP Inside——更专业、更开放 《程序员+》移动应用上线 启动“2014 MDCC十大人气应用/产品评选活动” 微软开发体验与平台合作事业部大中华区DX部门总经理Srikanth Raju:基于云的跨平台开发 Facebook平台工程合作部亚太区总经理张博:通过Facebook构建下一代移动应用 Vungle工程副总裁Wayne Chan:移动视频广告的未来 免费ASP空间申请 白羊座的进来领分,水园里白羊座好像很少。。。。 ie无法编译jsp? 300分!求《程序员增值合订本》上册中的"完全掌握TCppWebBrowser控件"内容! Google搜索从入门到精通(散分) 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 你是怎么过的?CSDN无高人?:( 找asp.net入门经典!一定是C#写的!!!在线等! 菜鸟的关于DataGrid的问题 资源管理器中选中的多个文件怎样传给我的程序 什么是“三层数据库”和“嵌入式软件系统”? 什么是“三层数据库”和“嵌入式软件系统”? 类似"hello world"的简单问题,求教 免费ASP空间申请,支持ACCESS 事件的终止? 数据追加求教:谢谢您!!!! 请问InputBox在framework 类库里面有没有代替的阿? 为什么我写到文件中的字符总长度比我实际应该要写的多? 如何使dbctrlgrid多选,并使鼠标右击相当于鼠标左击 关于静态IP地址,急!!! 如何将tomcat做为windows的一项服务启动? 请问各位大虾,哪有paradox(INPRISE 公司产品)数据库(*.DB)的资料? 非法操作的问题 请问各位大虾,哪有paradox(INPRISE 公司产品)数据库(*.DB)的资料? 各位大虾救命啊!请问怎么在一个DIALOG中使用RICHEDITVIEW,谢谢大家了 ACCESS的删除问题 我有“处女”情结,可.............. 菜问题,,马上给分sendto问题 while和for的区别 安装的问题 我喜欢上公司的JJ怎么办????? 谁能帮我反编译?急 1.7gmsdn如何改成3张碟刻出来 启动慢? 有什么方法实现点击"提交"按钮后,弹出一个框显示表单里的数据,"确定"后再提交,"取消"后不提交? 请教vb 字符串问题 急!明天要啊!(帮忙啊!)分在另一贴给! 请问如何创建一个组控件,然后又可以动态调用?请进!:) 用Jbuilder开发,怎样配置才能开发j2me? 关于HOOK和键盘屏蔽的问题??? 如何在自己的网页上嵌入google的页面翻译功能 有关2k的内存问题 阴谋家已被清除!大家尽兴的庆祝呀! 问一下 C++基础的弱智(20分钟内结贴) 高手请看:实形变量在不同的过程中调用问题?(大家都要遇到的问题,来着有分!) 还是没解决呀!!1 350元左右的MP3播放器谁好阿?你给推荐一下? 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 如何撰写反馈改善总结报告 找个化学专家!教我一下化学知识 有点小钱想投资,朋友推荐了网贷平台利融网,但不太清楚年化利率是什么意思, 九上数学的反比例函数怎么学 铜能与浓硫酸反应而不能和稀硫酸反应 是什么原理 这一事实能说明反应物的性质影响化学反应速率吗 在英文中,diagonal road 是一种什么样的路?对角路?不明白这是什么东西…… 求一个英语单词或者句子 含 L J M最好是深情点的 什么是多元弱酸? 大肠杆菌某一多肽基因的编码链的序列是:5′ACAATGTATGGTAGTTCATTATCCCGGGCGCAAATAACAAACCCGGGTTTC3′⑴写出该基因的无意义链的序列以及它编码的mRNA的序列.⑵预测它能编码多少个氨基酸. 求含j和x的英文单词 医院在Jiefang Road的英语 为什么核酸中含有稀有碱基或稀有核苷?有何生物学意义? 物理第二十一题 word中 如何做文字围绕圆内走?word中 不能用艺术字! 每个蛋白质都有一、二、三级结构么?酶促反应中决定酶专一性的是那个部分酶促反应中决定酶反应性质的是那个部分tRNA的柄部在蛋白质生物合成时的作用 物理第21,22题 0.1mol碳约含有____个碳原子 2mol氧气约含有____个氧分子,____个氧原子 1mol硫酸约含有___个硫酸分子,___个氢原子___个硫原子,__个氧原子 0.5mol氢气约含有___个氢原子.___MOL氢原子 0.2mol氢氧化钡含有_ 初中物理第15,求解释 电镀掉镀层是怎么回事 word打出一段文字呈一个圆形就是在一个圆形的自选图形上打字,但要求充满整个圆而不是一个方形.(不要说用文本框一行行地调喔)不是说每个字有个圈,是一段文字呈一个圆形我的意思不是 初中物理15种研究方法 物理二十一至二十四题, word中怎样把文字均匀排放在360度的圆上 .生物氧化主要通过有机物质 反应实现的,生物氧化产生的H2O是通过 形成的. 数学反比例函数题1以知反比例函数的图象Y=X分之K经过点(2,3),若点(A,-2)也在该函数的图象上,则A的值为?2正比例函数Y=-2X和反比例函数Y=X分之K的图象交点的纵坐标为-1,则反比例函数的解析式 21.题 葡萄的产量一亩大约是多少 1.一定量的铜粉和碳粉的混合物,在空气中充分燃烧后其固体与原混合物的质量不变,则原混合物中铜粉和碳粉的质量比为-------2.将一定量的一氧化碳和二氧化碳的混合气体通入足量的澄清石灰 h___ english class怎么填单词? 陕西一亩葡萄的产量是多少呢 有没有什么方法. 有没有同时包含“Z,H,T”的英文单词?三个字母大小不限,举个例子,是一个单词同时包含 要求是AAA+AA+A+A=BBBc 正方形的边长增加1/8,周长就增加()/(),面积就增加()/() 工程上立模什么意思,求详细解释 Cross the road啥意思 四边形ABCD中,角B=角C,AB=CD,判定四边形ABCD的形状,并证明你的结论 房屋建筑学中的施工说明是什么意思?施工说明是干什么用的?能举个例子说明一下吗?感激不尽 cross the road的中文意思 有没有英文单词里含有z,m的?要按顺序, 工程中,1.5*1.5砖 1*1砖 2*2.5砖各指什么含义, cross the road的意思 含有G和M的英文词语 某化学实验兴趣小组想设计一个实验来验证工厂排出的废气中含有SO2和CO2,采用如图所示装置所用药品有:(I)氢氧化钠溶液(II)品红溶液(III)酸性高锰酸钾溶液(IV)澄清石灰水A,II-III-IV-IB,IV-II-III-IC, dont cross the 一个四边形的四个角ABCD上各长着一棵树,现准备将其扩大成一个平行四边形,且面积为原来面积的两倍还不能破坏这四棵树,请设计出方案.注意,是一个凸四边形,最好附图,不然请说明作法 英语的比较级规律是什么?不规则的有哪些类? cross the road中文是什么? 其中(1)中的这个结论是一个有用的结论,请用这个结论,在图②的四边形中ABCD内引一条和一边平行的直线,求∠A+∠B+∠C+∠D的度数. 化工系统工程的有关问题1、系统合成的主要任务是什么?2、系统合成的主要工作步骤有哪些?3、系统合成方法有哪些?4、精馏序列的合成问题包括哪些?5、某工艺物流,其流率为200 kg/s,换热后升 Ni(CO)4 为什么不是dsp2杂化?CO不是强配体吗?而Ni的价电子轨道挤一挤的话就会有1个空的d轨道了,那为什么Ni(CO)4不是dsp2而是sp3呢? 品质改善报告怎么写才最合适我只是公司里一名很普通的车间组长,可是在我刚上任的第一个月,却把公司的产品弄出好多不良,导致了厂商对我们的客诉.老板要我写改善报告.我该怎么写呢?麻 工业制得的纯碱可能含有少量的氯化钠,现取含有少量的氯化钠杂质的纯碱药品5g与足量的稀盐酸完全反应,放出1.76g气体.请计算这种纯碱样品中碳酸钠的质量分数. 请教高中物理光学问题为什么筷子插到水中时,人所看到的筷子会变粗 次氯酸钙和硫酸锰反应·高分在线等·答对追50分要求写出酸碱性情况下的方程式·2L你的不对· 浓硫酸和铜的化学方程式 请教一道高中物理光学题如图,MN是竖直放置的长L=0.5m的平面镜,观察者在A处观察,有一小球从某处自由下落,小球下落的轨迹与平面镜相距d=0.25m,观察者能在镜中看到小球像的时间△t=0.2s.已知观 关于品质与质量的改善报告怎么写? 求指教!我在看一个汽车清洗剂的配方 算来算去 因为摩尔质量 我算不出来。求指教 配方如下:组分 m/kg聚丙烯酰胺(粉状) 25-90十二烷基苯磺酸钠 2-5脂肪醇聚氧乙烯醚 1-5十二万基硫酸钠 20- 谁能给我解释下责任的含义,你自己理解的责任与爱的关系,责任与快乐的关系等不要复制的,要你自己理解的 民警枪击米粉店主 传因“不卖奶茶”越南网络活跃人士因散播不利于政府消息美媒称美无人机炸死索马里青年党高官福建莆田仙游县与福州永泰县交界发生4民建提议京籍准入实行积分制 取代户籍女大学生进企业终极面试:因吃饭未喝白福建仙游县永泰县交界发4.3级地震 北京一村主任拉选票 广播号召村民挖断福建启III级地震应急响应 已派驻工英窃听丑闻案开庭被告否认指控 最高或美国主持人就“杀光中国人”节目道歉党报谈英国“窃听门”丑闻:严格监管不联大连续22年通过决议 要求美国结束美国会将彻查全部监视项目 白宫修改部英窃听丑闻案开庭被告否认指控 最高或英窃听丑闻案开庭被告否认指控 最高或“世纪审判”撞上美窃听门中央军委成立巡视组寻虎找蝇 重点监督卫计委组建半年:生育政策成焦点 医改遵义市委书记被指边升边腐 或涉凯里市卫计委回应单独二胎放开:计生政策无调燃烧71小时 百荣火灾扑灭APEC峰会用瓷首次集中展示 彭丽媛崇礼将建创伤医院为运动员提供服务燃烧71小时 百荣火灾被扑灭第九代索纳塔下月上市 定位变商务民生银行首推黄金账户业务《除了爱,我们什么都不会》春节在即,如何应对父母催婚?男子离家爬野山未归 多路救援队上山搜去年空气净化器热卖345万台车圈声音闯入柬埔寨陌生人家电动车在京备案 买车上牌享补贴开发商为卖房立山寨轻轨站牌:预计20鉴史问廉:中国政治的清浊明晦广州官方:暂不需要限行外地车辆获“感动中原”年度集体奖歌手违规拉票遭警告星爷徐克携手“降魔”魏吉祥点佩兰选人1重要特质 称王大雷意甲-那不勒斯2-1距罗马4分 K神
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘