InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

如何在团队中引入和评估代码质量

作者 Niclas Nilsson 译者 霍泰稳 发布于 2009年7月2日

领域
架构 & 设计,
过程 & 实践,
语言 & 开发
主题
架构 ,
代码分析 ,
工件和工具 ,
质量交付
标签
质量

Jaibeer Malik最近发布了一个关于如何在团队中评估和引入代码质量的系列文章。如果你现在需要学习关于代码质量的知识,或者要给其他人介绍相关想法的话,这些文章你可能会很感兴趣。文中提供了关于这个主题的简要介绍,并为进一步研究代码质量给出了指南。

Jaibeer提到:

你肯定遇到过很多下面类似的情形:在你加入一个新项目,第一次看代码时,或者其他某个新人加入项目时,人们经常会说看这代码多么狗屎,我们需要优化这儿,优化那儿。但随着时间的推移,你却少有时间更改这些问题,而这些似曾相识的情形也一次次重现。

第一篇文章中,他以以下几个问题开篇:

  • 要写好的代码需要学习什么?
  • 我如何评估眼前的代码质量是好还是坏?
  • 代码好坏的因素或者标准是什么?
  • 如何让代码解决质量问题?
  • 如何对糟糕的代码进行优化?

然后系列文章被分成三个不同的部分展开阐述:

学习OOP、设计模式、简洁代码和重构

优化代码质量最重要的事情之一是帮助团队成员学习那些重要的基本知识。系列文章的这一部分提供了一些关于需要学习的内容的指南,以及一些不错的学习资料(如书籍、博客和游戏等)的链接。

测量工具

测量工具部分,Jaibeer解释了使用静态代码分析工具的理由:

静态代码分析可以帮助你找出你软件中可能的代码错误。通过在开发流程中集成这些SCA工具,你能让软件在质量上得到改进。在开发阶段就找到这些错误,要比软件上线或者发布后再出错好的多。

他列举了几个可针对源代码提供不同测量标准的优秀工具,并针对每个工具做了简要描述。他所列举的这些工具均适用于Java源代码,但是即使Java不是你使用的语言,这些工具介绍依然可以给你一些有价值的信息,比如什么工具适合你,如何为自己的平台寻找合适的工具等。另外对如何在构建过程中集成这些工具,他也提供了一些参考建议。

组织好团队里的创意

文章的最后一部分介绍了如何在团队内部分享知识和创意。这也是一个简要介绍,但是是很有价值的一个起点,特别是在你考虑如何将一个创意变成现实时。Jaibeer给出了下面一些建议:

  • 结对编程
  • Wiki
  • 代码标准文档
  • 邮件列表
  • 修正问题并让其他人知道

建议大家以这些文章为起点,努力探寻优化团队代码质量的更深入话题。

查看英文原文:Code quality for teams

译者 霍泰稳 是InfoQ中文站的联合创始人兼总编辑,有多年的软件开发经验和媒体从业经历。

文章的url无法打开 发表人 xz c 发表于
Re: 文章的url无法打开 发表人 Shao Tony 发表于
Java code quality 发表人 xia roger 发表于
  1. 返回顶部

    文章的url无法打开

    发表人 xz c

    文章的url无法打开

  2. 返回顶部

    Re: 文章的url无法打开

    发表人 Shao Tony

    请翻墙,或输入fu*k GFW 直达

  3. 返回顶部

    Java code quality

    发表人 xia roger

    Some tool for code quality check: www.lifeyun.com/automation-code-quality.html

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。