敏捷开发中的代码检视

敏捷开发中的代码检视

ID:9074975

大小:97.00 KB

页数:10页

时间:2018-04-16

敏捷开发中的代码检视_第1页
敏捷开发中的代码检视_第2页
敏捷开发中的代码检视_第3页
敏捷开发中的代码检视_第4页
敏捷开发中的代码检视_第5页
资源描述:

《敏捷开发中的代码检视》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、敏捷开发中的代码检视整理人:李名俊创建日期:2011-03-05iSoftStoneITCo.,Ltd.软通动力信息技术有限公司Allrightsreserved版权所有侵权必究1敏捷开发中CodeReview的目的及内容做任何事情,首先要清晰为什么要做,才能有目标和动力把事情做得更好,CodeReview也是如此。只有清晰明确了敏捷团队进行CodeReview的动机,才能以此为方向开展后续工作。下面我们推荐的敏捷开发中常见的CodeReview的目的:1.1设计合理性Review敏捷开发中崇尚Codeisdesign

2、,对开发人员提出了比以往更高的要求,即需要开发人员不断地重构出合理的设计。所以敏捷开发中的CodeReview也需要承担一部分“结对设计”和“设计把关”的职责。这部分的CodeReview包括:设计的合理性(如实现方法,数据结构,设计模式,扩展性考虑等),是否存在大量重复代码和其他组件是否有重复的代码,包结构设计是否合理等。笔者了解的一些项目中,进行敏捷开发后,提高了开发效率,但是设计的质量却下降了。如RepeatYourself的现象(特别是跨组件之间的RepeatYourself现象);更有甚者,在笔者看到一个某银

3、行的应用中(不是国内的),数据库连接和操作是直接在JSP中写SQL语句。像这些BadDesign的例子还是很多的。这些在重构的时候应该由开发人员解决。但考虑到不同开发人员之间技术功底不一,很有必要在CodeReview阶段进行Review和讨论。1.2互为Backup这是很容易被忽略,但是又很重要的一个CodeReview的目的。我们知道,敏捷开发中强调高质量的代码胜过详细的文档,所以某种程度上来说CodeisDocument。敏捷开发中的代码承担了一部分Document的职责,即传递技术的作用。CodeReview中

4、,Review的开发人员了解代码的设计和实现,传递了技术,开发人员互为Backup,方便后期的维护,也减少了项目风险。1.3分享知识、设计、技术这也是很容易被忽略的一个很重要的目的。敏捷开发是一个中央集中控制到个体发挥积极性的过程,中央集中控制的优点就是有统一的视图和控制,经常开大会,开长会,这样知识和经验也较容易集中。敏捷开发中,分散在两个ScrumTeam的开发人员之间,如果没有好的机制,相互沟通也会相对较少,造成知识和好的经验无法在整个团队传播。笔者参加的项目中就碰到了类似情况,当时我们整个团队分成三个Scrum

5、Team,其中一个ScrumTeam负责一个Eclipse工具的开发,其中用到的一些功能和知识在其他ScrumTeam上以前都有涉及过。当时负责开发的同事非常优秀而且能力突出,但由于不知道其他ScrumTeam同事有这方面的经验,没有很好地分享以往好的经验和知识,以至于最后导致浪费了一些学习的成本。CodeReview是一个学习和享受的过程,一个开发人员的能力有限,而CodeReview正是这样的一种机制,让好的知识、设计在团队中分享,实现整体团队的成长和整体的效益最大化。1.1代码可读性如上所说,敏捷开发中强调高质量

6、的代码胜过冗余的文档,所以Code某种程度上是Document。敏捷开发中,代码的要求不止是能运行功能正确的代码,而是有了更高的要求,即Codeformaintenance。可维护的代码,需要清晰,可读性强,这里可读性代码检查不是指代码格式(代码格式可以通过工具检查出),而是指代码语义。在笔者的文章《软件可消费性设计》中有一些这方面的讨论和建议。1.2Code中的“地雷区”Review代码中的逻辑,除了业务逻辑,还应该包括技术逻辑。技术逻辑就是实现逻辑,比如数据库连接打开是否忘记关闭,是否正确使用线程,Exceptio

7、n处理,密码是否加密存储等。我把这些最常出现错误的地方,而且是测试不容易发现的地方,称为Code中的“地雷区”。这些“地雷区”在CodeReview中是值得花费一些时间进行维护和检查的。建议,在整个团队中维护并共享“地雷区”注意事项列表,以及统一的处理方式和机制。并在编码和CodeReview过程中都按照团队的最佳实践进行。1.3发现代码中的业务逻辑错误业务逻辑指的是代码开发的功能是否符合业务需求,如一个加法函数,检查其是否真的实现了加法的功能。笔者了解的一些敏捷团队中,把发现代码的业务逻辑错误当做目标和内容,但往往效

8、果都不是很好,基本都是从形式上泛泛检查一番。原因有两个:1.业务逻辑的检查是从需求到代码的全方位检查,需要花费大量时间,投入产出比失衡。2.业务逻辑的检查和业务需求紧密关联,已经超出了检查人员的能力范围(一般CodeReview是开发人员,不是业务人员)。笔者认为,发现逻辑错误,不应该是CodeReview的目的和内容。应该是Un

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。