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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

英文出自:Anna Gos

MDCC免费展位报名火热!数量有限,征集进行中 迪游信息科技CEO张晓雷:中日游戏面面观 百余款智能电视创意类应用参赛角逐 Top13 App新鲜出炉! 微信公众平台开发——如何保证access_token长期有效? 拼的就是速度!超快HTML5 2D渲染引擎Pixi.js 一周消息树:百度“涉黄”遭警告,网盘内容审核的四种方式 微信开发商现状调查:接口限制成主要困扰 行业需求多样是最大难点 小米:海外扩张需谨慎,信息安全或成最大掣肘 AMD FX系荣耀归来 或成大众新宠! 脑洞大开:《80天环游地球》同名游戏诞生记 2014微信开发者大会 最后30个参会名额! 林仕鼎创业产品“云校”正式上线:让教育个性化、多元化、均衡化 14岁少年开发者:伍兴云的智能家居“梦” Xcode 6 Beta 6发布闹乌龙,着重改进Swift语言 当API遇到云平台,开发者面临的新抉择! 《近匠》欧朋流量宝,工具类应用开发之道 《近匠》Bmob:免费无限制的公有云服务 MDCC应用征集最新动态:3D手游成热点、硬件种类丰富 闪迪Ultra II SSD:采用TLC闪存,最低价为79.99美元 现有技能不浪费!基于Titanium的跨平台游戏引擎Platino 跳过开发者,专注补Bug的iOS 8 Beta 6悄然发布 集群管理可以很简单,Google又放大招 应用内直接打车:Uber面向第三方开发者开放API 百万美元巨奖!英特尔启动感知计算挑战赛 IBM 2014技术峰会在京开幕! OpenGL 4.5规范标准发布,大大提升API性能! 更萌更贱:Flappy Bird开发者推虐心新作Swing Copters 学习的革命:AR增强现实遇到儿童应用 颠覆旧概念,IBM Bluemix开启云开发时代 专访企业QQ SaaS团队,谈企业级LNMP架构设计 《近匠》Coding:将软件开发搬到云上 赶快来尝试一下吧! ado的问题! 如何传递带“%”的参数? 有全套的ERP源代码为你提供,助你在开发过程中更上一层楼 字符串str=" aaa ",如何变为"aaa" 怎么没有人理俺泥?? 关于dw的问题 如何读入数据库中的HTML格式的正文呢? 一个在阅读<<深入浅出MFC>>中遇到的问题 !!!!急 新手,说找不到mfc42d.dll文件 怎么没有人理俺泥?? 关于dw的问题 FAST.lib 2000 for windows是个什么东东 请问各位一个非常简单的问题 jdk和jvm 笨蛋 大家有什么建议吗? ASP.net如何刷新另一个页面 有一年delphi工作经验的程序员在全国各地的待遇如何?哪个城市有发展前途(钱途)? 100分求解!!!这个问题大家都来看,来者有分!!! 告诉我几个地方,给你几十分,简单吧 :-) 有没有关于VPN的书籍 Interbase源码分析 西瓜是Plmm哎~! 一个字符串替换的小问题。。。 还有一个问题需要问大家。。。特别急。。。 我变成了大家的一员 哪儿有在jbuilder中让三键鼠标可以使用滚动功能的驱程? 我想把ODBC的所有数据源列出来显示,不知道用哪个函数,谁能告诉,多谢了!来就有分 两台机器怎样用一个asdl宽带猫上网 我的vc编译器在我的一个程序就是不出自动变量填补功能,在其他程序上可以,不知为什么 我想把ODBC的所有数据源列出来显示,不知道用哪个函数,谁能告诉,多谢了!来就有分 怎么复制程序自己? 小小问题 我喜欢在等人的时候抽根烟!(在车站接哈尔滨来的哥们) 我想把ODBC的所有数据源列出来显示,不知道用哪个函数,谁能告诉,多谢了!来就有分 如何在SQL服务器端编程截获SQL客户端从工作站机器上的登陆 大家的公司都用ASP做什么?????我一直想问这个问题。 我只有 .ora文件,怎样恢复数据库? 急 关于游戏编程! J2EE的配置问题!! 请帮忙 !!!多谢了!一定给分!!!! 什么类型的共享软件最挣钱? 请教各位大虾一个DLL问题 如何恢复oracle数据库,先安装好oracle,之后再安装了develop2000,修改了oracle_home后oracle就启动不来了。 SDI程序中,如何在MainFrame里,得到文档的指针? Delphi入门提问 请教各位大虾一个DLL问题 是输入IE网址不对还是Apache对该文件common.jsp设置了访问权限? ${java_home}/.. 在国外发布的共享软件如何收钱? 实在不知道现在企业都是怎么招人的! 世界上会有简单而没有伤害的爱情吗? 急!!!如何将一个结构对象转成LPVOID 铁遇到空气会不会生锈回答的越详细越好 初二物理物态变化的知识结构图 氢氧化亚铁和氢氧化铁的转化在氢氧化亚铁被氧气氧化成氢氧化铁的过程中所形成的绿色的物质是什么?(它也是一种沉淀吗?)为什么会是绿色的? 二氟一氯乙烯生成四氟乙烯的化学方程式如题 一块石碑体积为5m3,取一小块作为这块石碑的样品,测得它的质量是130g,用量筒装100cm3的水,再把石碑样品完全浸入水中,水面升高到150cm3处,求整块石碑的质量. 什么地方吸收酒精 铁生锈与空气有关吗?,为什么? 什么是动能,机械能,内能 .酒的吸收的特点是: 铁会生锈是因为空气中的什么? 设用8ml苯胺和9ml乙酸酐制备乙酰苯胺,哪种试剂是过量的?乙酰苯胺的理论产量是多少? 水蒸气蒸馏的馏出液,为什么加入食盐饱和后再进行后续分离操作? 蒸馏水是由什么成分组成的,可以饮用吗.自己可以弄吗. 初二物理——物态变化中熔点的知识1、北方建筑工人在秋冬季和泥时,常用食盐水来代替自来水,这是因为食盐具有( )A 较好的流动性 B 较好的挥发性 C 较低的熔点 D 较高的凝固点2、雪后路 水蒸气蒸馏试验中被蒸馏液体中的浓度应该越高越好对吗?加食盐以达到近饱和状态再进行蒸馏 这个理论对吗 甲乙两烧杯中分别放入0.1molna2o,na2o2,然后各加100ml水,是固体完全溶解.则甲乙的质量分数关系是甲=乙甲 最好是以前没有的,重在创新,也可以是传统实验的改良,1 求初中生物的全部实验各位叔叔阿姨,哥哥姐姐,老师们,麻烦你们帮我把初中生物的全部实验发给我可以么?邮箱是:lrt2009@163.com谢了,顺便要是有生物历史所有知识点和会考复习资料的也顺便 蒸馏水煮沸了再煮好吗 我们有个生物创新实验比赛,要求环保,重在创新,老师让我参加,我不想让老师失望, 铁烧红放入水中冷却后为什么变硬 蒸馏水能饮用吗 需要一个生物的创新实验,要求注明创新点和意义.而且这个实验最好是好做的,实验材料最好是生活中易见的. {在线等}过饱和蔗糖水加食盐后对蔗糖溶解有没有影响一杯过饱和蔗糖水,杯底有蔗糖.现加入一些氯化钠,氯化钠溶解后请问杯底的蔗糖会不会继续溶解? 铁在氧气中燃烧和铁生锈,虽然我们看到的什么不同? 医院里的“安静”二字是要求声音不超过_____________ ,从减弱噪声的途径看,这是在______________处减弱噪声.是苏教版作业本上的, 在铜锌原电池中,将铜电极的氢离子增加一倍,则铜极上的电动势会变大还是变小?若加入氨水则电动势变大还是变小? 用自来水制取蒸馏水的操作是煮沸还是蒸馏? 2010初中生物实验如何做一定要2010年大啊就是今年中考会考的 锌和铂做心脏起搏器,为什么锌作负极,血液不是呈碱性吗?请详细说明,本人化学不好 乙酰苯胺的制备反应瓶中白雾是什么 滴加什么试剂鉴别蚕丝制品 盐酸?硫酸?硝酸?氢氧化钠? 硫酸溶液中锌、铜电极接上回路,为什么锌失去的电子能定向移动到铜极?而氢离子能定向移动到铜极接受电子是什么力量使锌失去的电子定向移动到铜极处?若说电动势,哪电动势是电极两端有 生铁和铁哪个更容易生锈 苛性钠露置于空气中逐渐变质 化学方程式 纳米硅酸盐涂料具有的化学性质是 NaO+H2O生成NaOH,那NaOH会加热分解成NaO和H2O么? 酒精会直接被胃吸收吗?喝酒后,被吸收的时间是多久? 化学提纯问题 我想问,为什么要用到蒸馏水工业上常用 FeCl3溶液腐蚀印刷电路板,欲从腐蚀后的废液中回收铜及制取纯净的FeCl3溶液,需要用下列试剂:①蒸馏水;②铁粉;③浓硝酸;④浓盐酸 NaOH可吸收H2O吗 酒精可以直接被肠胃吸收吗 怎么样用化学法提纯3,5-二甲基苯胺,含量99.5%以上 能否用水蒸气蒸馏分离以下各组混合物 (1)硝基苯、苯胺 (2)溴苯、铁、三溴化铁 乙酰苯胺的制备中根据反应式计算,理论上能产生多少毫升水?为什么实际收集的液体量 【生物】为什么在胃部会吸收酒精? 硝基苯水蒸汽蒸馏实验中,最后蒸馏硝基苯时为什么不能蒸干?同题 乙酰苯胺的制备反应完成应产生几毫升水,为什么实际收集液体远多于理论量,除用醋酸 怎么让肠胃少吸收酒精喝 为何不电解氢氧化镁,氧化镁而是电解氯化镁呢 一冰醋酸为酰化试剂合成乙酰苯胺的合成原理是啥? 初中生物分组实验都有哪些人教版的初中生物分组实验是不是只包括所谓的“实验”?而“探究”、“调查”、“观察与思考”、“演示”都不属于严格的分组实验内容?初中生物书上感觉说 "工业上一般用电解「氯化镁」晶体制镁,而不是「氧化镁」"这句话为什么不对,不是问为什么不用氧化镁,而是问为什么不用氯化镁晶体 1,‘下列氯化物熔点高低顺序错误的是 A LiClMgCl2 C SnCl D ZnCl2 氧化亚铁、四氧化三铁、氧化铁、氢氧化亚铁、氢氧化铁的化学性质 氯化镁为什么不能一步生成氧化镁 补充锌元素的食物. 氢氧化亚铁如何转化成氢氧化铁? 煮沸腾的水是蒸馏水吗 哪些食物可以补充锌元素? 氢氧化铁 及氢氧化亚铁 性质急用 谢谢
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘