web项目经理手册-【3】Code Review

    Code Review是保证项目中代码质量非常重要的一个环节,其主要工作是:
1、发现代码中的bug;
2、从代码的易维护性、可扩展性角度考察代码的质量,提出修改建议。

1、代码中的bug主要会出现在下列两个地方:
(1) 与商业逻辑无关的bug。
        比如,系统中打开的流/文件/连接等没有及时关闭;或是存在thread safe问题,或是存在性能低下问题等,这类问题对有经验的开发人员是比较容易发现的。

2、与商业逻辑相关的bug。
        这类bug是非常隐蔽的,如果有对产品不熟悉的人参与该产品的项目开发,容易出现这类的bug。为了避免这类bug的出现,我们除了在Use Case和Test Case中详细描述以正确指导开发人员并在测试时能及时发现它之外,Code Review也是不可缺少的保证环节。
        我们希望代码的审核者对产品非常熟悉。

3、什么样的人承担代码审核者Code Reviewer?
(1)、比较熟悉相关商业逻辑。
(2)、有丰富的编程经验。
两者缺一不可。

4、代码Code Review的步骤,这些是我在平时工作中的经验总结,目前也是按照这个步骤在做。
(1)、代码编写者和代码审核者坐在一起,由代码编写者按照UC依次讲解自己负责的代码和相关逻辑,从Web层->DAO层;
(2)、代码审核者在此过程中可以随时提出自己的疑问,同时积极发现隐藏的bug;对这些bug记录在案。
(3)、代码讲解完毕后,代码审核者给自己安排几个小时再对代码审核一遍。
        代码需要一行一行静下心看。同时代码又要全面的看,以确保代码整体上设计优良。

(4)、代码审核者根据审核的结果编写“代码审核报告”,“审核报告”中记录发现的问题及修改建议,然后把“审核报告”发送给相关人员。

(5)、代码编写者根据“代码审核报告”给出的修改意见,修改好代码,有不清楚的地方可积极向代码审核者提出。

(6)、代码编写者 bug fix完毕之后给出反馈。

(7)、代码审核者把Code Review中发现的有价值的问题更新到"代码审核规范"的文档中,对于特别值得提醒的问题可群发email给所有技术人员。

5、责任:
        代码编写者,代码审核者共同对代码的质量承担责任。这样才能保证Code Review不是走过场,其中代码编写者承担主要责任,代码审核者承担次要责任。

6、Code Review必备的文档:
      “代码审核规范”文档:记录代码应该遵循的标准。代码审核者根据这些标准来Code Review代码,同时在Code Review过程中不断完善该文档。

时间: 2024-09-24 18:30:25

web项目经理手册-【3】Code Review的相关文章

web项目经理手册-【4】需求变更管理

 需求变更管理是web项目管理中最重要的一个环节,需求变更管理的有效性直接影响项目的成功与否.   对待变更的态度: 1.变更是不可避免的. 2.变更必须被管理. 3.积极发现引起变更的因素,促使变更尽可能早的出现,减低变更带来的风险. 需求变更管理的目标: 1.相关的干系人必须清楚地了解发生的变更. 2.变更处于有效的管理中. 3.尽量降低变更带来的风险.   通过制定需求变更的流程,确保项目中的需求变更有效地进行,实现上述的目标.   需求变更流程: 1.确定需求的基准线.  通常我们会以U

web项目经理手册-【5】项目经理的工作内容

一.项目经理的目标 1.满足项目利害关系者的不同需求. 清晰明确地了解每一个项目利害关系者的需求和期望,投其所好. 项目利害关系者包括:项目团队成员和项目团队外成员(比如各部门的部门经理,客服等). 2.保证开发项目按时保质的完成. 二.项目经理的职责 1.建立有效的流程保证项目的顺利进行. 2.制定详细周密的项目计划. 3.跟踪,推动项目按计划进行. 4.积极解决项目过程中出现的问题和冲突. 5.调动开发团队的积极性,创造力,推动团队成员在项目过程中不断成长. 三.项目经理的具体工作 1.项目

web项目经理手册-【7】项目经理需要铭记在心的话

1.项目经理不是来管人的,而是来支持人的.         解析:不光是项目经理,任何经理的职位都是如此.但现实中很多人并不是那么做,这也是为什么他们没能把项目做成功的原因.作为项目经理首先要端正态度,认识到这份工作职责的本质. 2.好的开始是成功的一半.         解析:一个好项目的失败,往往是由于前期的准备不足.计划不周密.所以在项目初期要舍得花时间做前期的需求收集.讨论.技术准备等工作.尽管前期的工作看起来并没有直接产生效益,但这块工作做好了,后面的工作往往会事半功倍.否则前期准备不

web项目经理手册-【2】开发时间估算

       项目经理制定项目时间表的时候,需要估算每个任务所需的时间,其中开发任务中模块的分配和时间估算是其中最主要的部分.本篇专门就这部分作一个阐述. 一.在分配模块和估算开发时间时,我们需要把握的原则和目标: 1.保证项目整体的进度. 2.有助于确保开发编码的质量. 3.有助于提高开发编码的速度. 二.每个公司都拥有自己的技术框架,开发人员主要的工作通常投入在具体的商业逻辑上. 通常每个模块所需的开发时间取决于以下三个因素: 1.该模块的商业逻辑的复杂程度. 2.开发人员的技术水平和对项目

web项目经理手册-【1】版本控制流程

       大家在项目过程中是否会经常发生以下问题: 1.测试人员在测试阶段更新测试环境时,发现编译不通过,或者应用出现异常,无法进行测试.后来发现的根源是测试和开发共用一个分支. 2.有一天某个人群发了一条邮件通知,"我们的项目代码已经发到主干,这段时间大家不要修改主干信息",这样影响其他项目的正常发布. 3.项目进行了比较长的时间,等最后发布,需要与主干进行合并的时候,出现大量的冲突,几乎没法处理.而且冲突处理完后我们还需要重新再做测试,以保证我们的冲突处理没有问题,这样又会需要

web app-周五项目经理提了一个很变态的功能要我解决!!!!!href="tel:XXX"打电话保存通话信息

问题描述 周五项目经理提了一个很变态的功能要我解决!!!!!href="tel:XXX"打电话保存通话信息 web app href="tel:XXX"打电话保存通话信息 包括通话时间 通话人 怎么操作!求各位大神!新人没积分请见谅 解决方案 可以做一个系统服务,记录电话的通话时间. 解决方案二: 本身电话是不是可以开发.可编程.那么就记录电话所有信息.然后网页上记录通话开始时间.然后查找获取.

有人实践过 Phabricator 以及 Arcanist 作为 code review 的工具么?(转)

作者:覃超链接:http://www.zhihu.com/question/19977889/answer/13539702来源:知乎 平时就经常实践. 整个公司的code review就是使用这个. 具体说来, 由于我的project稍微有点特殊,所以我这一年在facebook工作的时候一直在用两套Code Review工具: Facebook的Phabricator 和 Google的Gerrit (他们都是开源). 我觉得两个工具都很快,很稳定,然后都有效地提供了code review必备

Code Review代码审查的思路

1.关于Code Review 1.1 Code Review的目的 Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到如下目的目的: (1)在项目早期就能够发现代码中的BUG (2)帮助初级开发人员学习高级开发人员的经验,达到知识共享 (3)避免开发人员犯一些很常见,很普通的错误 (4)保证项目组人员的良好沟通 (5)项目或产品的代码更容易维护 1.2 Code Review的前提 进入Code Review需要检查的条件如下: (1)Code Re

工程中Java Code Review发现的问题汇总

工程中Java Code Review发现的问题汇总 概述 最近对团队内近期开发的一些Java web工程进行了Code Review,这些Code主要是需要在多个工程中复用的基础组件,Java代码为主.审核中发现了一些编码问题(暂时不考虑设计模式.架构层面的),这里进行一下汇总总结. 问题列表 注释 普通的程序员最痛恨接手或使用没有文档的代码,而程序员一般又不喜欢些文档,代码注释是文档的一种,在Code Review中发现工具扫描时注释率很高,但是真正进去去看,注释率极低. 接口一定要有详细的