分享软件项目中代码复查的形式及优缺点

首先,感谢你的阅读,本人观点:学习编程是个漫长的过程并不是一时就会很厉害的,关键是坚持,快乐地学习,在这里分享我的一些笔记给你;
  也许你是一位项目经理,也许你是一位项目骨干成员,或者开发小组长。在我发表“如何提高代码质量”的这一系统文章后,有许多网友都向我抱怨,说他无法把握整个项目组成员的代码质量。我想,这也是所有项目组普遍存在的问题吧,它通常表现为以下几个问题:

  软件项目普遍存在的问题

  1)新手。任何项目组成员都不可避免地出现新手,他们往往是刚刚从大学毕业的学生。这些新手由于软件开发时间太短,往往技术不成熟,没有形成良好的开发习惯,所以编写代码质量较差,问题很多。他们常常成为项目组的“鸡肋”,用多了项目质量无法得到保证,不用则又人手不够。

  2)人员变动。一个维护时间稍长一点儿的软件项目,人员变动是在所难免的。老员工被调动到其它项目去了,由新员工来接替他们的工作。在我的项目组中,人员调动达到了90%,唯一没有调走的就是我自己。新员工在接替老员工进行代码维护,甚至继续进行新的开发的时,由于对原有代码以及设计思路理解的偏差,也会出现大量的低劣代码。

  3)不规范的代码编写。即使除去以上两个问题的影响,项目组成员编写的代码同样会出现问题。在项目开发之初,我们往往会制定一个代码编写的规范,但在项目开发过程中,许多成员往往会忽视这些代码规范而进行随意的编写。随意地代码编写会降低代码的可读性、可维护性和易变更性。那么,我们应当采用什么样的管理措施,保证代码的规范,提高代码的质量呢?

  以上问题,也是我在项目开发中不断摸索和思考的问题,而一些有经验的项目经理给出了他们的解决之道,那就是“代码复查”。

  什么是代码复查

  代码复查(Code Review),又叫“代码审查”,其基本思想就是,在开发人员编写完自己的代码后,由其他人来复查他写的代码,从而有效地发现代码中存在的缺陷。代码复查的一个基本理论就是,当我们越早发现代码存在的缺陷,我们解决缺陷的代价就越低。代码复查往往分成以下一个方面进行审查:

  1)代码风格。在项目开发之初,我们往往会制定一个代码编写的规范,实际上,这个代码规范就包含了整个项目组的代码风格。由于软件开发人员的设计习惯不同,如果不统一代码风格,一个项目中的代码将五花八门,如变量和常量的命名、接口与实现类的注释、何时回车、怎样缩进等等。一个五花八门的设计风格,必将为日后的维护与改进带来困难。我们通过代码复查,一方面督促开发人员按照规范编写代码,另一方面也使开发人员自身形成良好的编程习惯。代码风格的审查,由于内容比较单一,我们常常可以通过一些代码复查的工具来自动完成,提高复查的效率。

  2)重大缺陷。在一些关于代码复查的文章中,列出了一个常常的单子,描述了代码复查应当着重注意的重大缺陷,它们包括:存在SQL注入、易受跨站点脚本攻击、缓存区溢出、托管代码等等。项目组可以不断积累重大缺陷的审查项目,并在每次审查中逐一检查。重大缺陷审查是一个繁琐而细致的工作,如果能编写或使用一些审查软件,可以大大提高我们的审查效率。

  3)设计逻辑与思路的审查。我认为,这部分的审查是代码复查中最核心、最有价值的部分。代码风格与重大缺陷的审查,虽然重要但简单而机械,可以通过软件自动检查;而设计逻辑与思路的审查,却是复杂而有深度的审查,需要有一定理论深度和编码经验的人才能完成,而且对新手尤其重要。前面提到,新手是任何项目组不可避免的问题。但遗憾的是,许多项目经理的办法是,只将一些简单而少量的工作交给新手完成,而将大量复杂的工作交给人数不多的那些老手来完成。这样的结果是,新手始终是新手,他们没有经过足够的锻炼;老手累死累活,无法指望新手予以分担工作。对于这个问题,我的办法是,通过代码复查,让老手去指导新手,让团队整体素质达到提高。具体办法就是,在新手完成编码以后,让老手去进行代码复查,指出新手的问题,指导新手设计。这样的过程最初可能需要重构,甚至重新编码。但经过这样的过程,新手将逐渐熟练,迅速成为老手,使整体团队素质提高。

  代码复查的形式及优缺点

  经过以上的描述,我们可以发现代码复查的优点显而易见。首先,通过对代码风格与规范的审查,可以大大提高代码的可读性与可维护性。现在的软件,往往需要持续的维护与升级,人员变动也在所难免,因此代码的可读性与可维护性尤为重要。代码复查是一种鞭策,因为它的存在,督促着开发人员自觉地规范编码,养成好的编码习惯,提高代码质量。一个值得注意的问题是,如果你不去读别人的代码,永远不能深刻理解什么是可读的代码,而自己的代码不让别人去读并且反馈,也永远不知道自己的代码是否可读,即使你是一个编码多年的老手。代码复查恰恰解决了这个问题,值得你去尝试。

  其次,代码复查是一次程序员之间的交流。新手可以有更多的机会向老手学习和指导,提高自身的设计水平(应当说这对于他们是非常宝贵的);老手通过对新手的指导,整理和升华自己的设计思路与理论,同时也是对自己另一方面的锻炼与提高。另外,当你发现并指出了别人的一个问题以后,同时也是在警示自己不要犯同样的错误,这对审查与被审查者都是有益的。

  虽然代码复查有如此突出的优点,但它的缺点也是非常显著的,那就是它需要付出如此巨大的代价。当一个人完成编码以后,还需要另外的人去解读和审查,并要求编程人员完成相应的修改,甚至重构和重写,这本身就是一种巨大的代价。这对于其本身就已经人员和时间非常紧张的软件开发项目来说,无疑是一种雪上加霜。时间、人力与代码质量,其本身就是鱼和熊掌不可兼得,关键是如何去权衡。正因为如此,不同公司选择了不同的代码复查策略。
从基础的学习到后面应用提高都非常的系统,无论你是本专业的还是跨专业的,都能有所收获,参加4个月的达内时光转眼已逝,伴随着喜悦,达内给你一个新的平台,一个崭新的开始。
(本文由广州达内为你分享;)

转载于:https://www.cnblogs.com/javaitpx/archive/2013/04/09/3009671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 氢氯吡格雷和替格瑞洛是常用的冠心病药物。它们的作用机制不同,主要是抑制血管紧张素Ⅱ(AngⅡ)的生成和血管紧张素Ⅰ(AngⅠ)的作用,从而改善血管收缩功能,减少血管钙化和血管粥样硬化,降低血压,减少心肌梗死发生等。氢氯吡格雷是一种胆固醇合成抑制剂,其作用机制是抑制胆固醇合成酶HMG-CoA酶,进而降低胆固醇合成,从而降低胆固醇含量,减少冠状动脉粥样硬化的发生。替格瑞洛的作用机制是抑制血管紧张素Ⅱ(AngⅡ)和血管紧张素Ⅰ(AngⅠ)的生成,减少血管收缩功能,降低血管钙化和血管粥样硬化,从而减少心肌梗死发生等。氢氯吡格雷与替格瑞洛具有不同的优点和缺点。氢氯吡格雷的优点在于能有效降低血脂水平,降低胆固醇含量,减少心脏病发病率,但副作用较多,如易引起肝毒性,血清乙型肝炎病毒抗体升高,血清谷丙转氨酶升高,肝功能异常,肝硬化等。替格瑞洛的优点在于能有效降低血压,减少心血管疾病发病率,但副作用也较多,如易引起低血压、弛缓心脏收缩功能、肝功能异常、腹泻等。总而言之,氢氯吡格雷和替格瑞洛都是重要的冠心病药物,其作用机制不同,且都具有较多的副作用,因此,使用时应根据个体情况选择合适的药物,以减少不良反应,确保治疗效果。 ### 回答2: 氢氯吡格雷和替格瑞洛是目前治疗冠心病的两种常用药物。氢氯吡格雷是一种ADP受体拮抗剂,通过抑制血小板的聚集和血栓的形成来预防冠心病的发作。替格瑞洛则是一种负性肌力药物,通过抑制心脏β1受体来减少心脏的收缩力和心率,从而降低心脏负荷和氧耗,减缓冠心病的发展。 在氢氯吡格雷和替格瑞洛的比较,氢氯吡格雷具有更快的起效时间和更长的持续时间,常规用药后的抗血小板效果可以持续1-2周。而替格瑞洛则通过降低心率和心脏收缩力来减轻心脏负荷,它的作用需要持续用药才能保持。 氢氯吡格雷和替格瑞洛的优点各有不同。氢氯吡格雷可以有效预防冠心病患者的血小板聚集和血栓形成,减少心肌梗死和缺血性风的风险。替格瑞洛则可以通过减少心脏负荷来改善冠心病患者的心功能,减少心绞痛的发作。 然而,氢氯吡格雷和替格瑞洛也存在一些缺点。氢氯吡格雷容易引起出血问题,特别是对于胃肠道出血的风险较高。替格瑞洛则可能导致心率过慢、低血压等副作用,对部分患者可能不适用。 在实际应用,根据患者的具体情况和不同程度的疾病,医生会综合考虑患者的病情、年龄、合并症等个体化因素来选择合适的治疗方案。同时,患者也需要严格按医生的指导进行用药,并注意药物的副作用和禁忌症,避免产生不良反应。 总之,氢氯吡格雷和替格瑞洛是冠心病治疗常用的药物,它们各有优点和缺点,医生会根据患者的情况进行个体化的选择。但不论使用哪种药物,患者都应遵医嘱用药,定期复查并密切观察身体状况,以确保疗效的最大化,并减少不良反应的发生。 ### 回答3: 氢氯吡格雷和替格瑞洛是两种常用于冠心病治疗的药物。氢氯吡格雷属于抗血小板药物,通过抑制血小板聚集来预防冠状动脉血栓形成。替格瑞洛是一种负性肌力作用药物,通过降低心脏收缩力和心率来减轻心脏负担。 氢氯吡格雷和替格瑞洛在冠心病治疗有一些相似之处。首先,它们都可以用于预防血栓形成和降低冠心病患者的心脏病发作风险。其次,它们都可以减轻冠心病患者的心脏负担,改善心脏功能。 然而,氢氯吡格雷和替格瑞洛也有一些差异。首先,氢氯吡格雷的主要作用机制是通过抑制血小板聚集,防止血栓形成。替格瑞洛则主要通过减低心脏的收缩力和心率来改善心脏功能。其次,氢氯吡格雷是一种口服药物,而替格瑞洛则主要通过静脉注射给药。 氢氯吡格雷和替格瑞洛的优点也有所不同。氢氯吡格雷作为一种口服药物,便于患者的日常用药和合理控制用药剂量。而替格瑞洛作为一种静脉注射药物,可以快速发挥药效。此外,替格瑞洛还可以减少心脏负荷,改善心功能。 然而,两种药物也有一些缺点。氢氯吡格雷可能会引起出血风险增加,需要注意监测和调整剂量。而替格瑞洛在心功能不全严重的患者可能会导致低血压和心动过缓等不良反应。 总结而言,氢氯吡格雷和替格瑞洛是两种常用于冠心病治疗的药物,虽有相似之处,但在作用机制、给药途径和不良反应等方面存在差异。在选择合适的药物时,应根据患者具体情况和药物特点综合考虑,以达到最佳的治疗效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值