论坛首页 综合技术论坛

Code Review之代码规范篇

浏览 17042 次
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-09  
ArdenL 写道

3. review result会提交给dev,然后dev再修改,再review,直到满意通过。


光从这一点上看,楼主这个流程就是比较严格,如果真能做到的话。一般而言,如果是进度压力,根本不能执行这个流程。
0 请登录后投票
   发表时间:2010-10-12  
执行力 是根本。
没有这个,
团队用什么方法,采用什么工具,都不一定能贯彻下去哈
0 请登录后投票
   发表时间:2010-10-12  
代码不规范,以后做维护,做后续的开发就会死的很难看,一定要执行。
0 请登录后投票
   发表时间:2010-10-14   最后修改:2010-10-14
   经过多天的研究,终于把sonar弄起来了。
Sonar确实是不错,可以自由定义checkstyle,pmd,findbug.看来作者对这个几个东西吃得很透,而且是一网打尽。我可以用它来检查代码,而且直接在sonar的平台界面内显示源代码的各项冲突,很直观,AJAX效果作的很好。比起CheckStyle和PMD自己生成报表的可读性要强10倍都不止!

   但是,但是最大的缺憾是对于每个冲突,他没有给出发生冲突的作者,这对Code Review的执行力大了折扣。我们这里不大可能召开什么会议来Review,必须直接将冲突分派到个人作者去改,通过Jira来跟踪,而且领导希望希望能够随时看见状态报告,谁谁的执行力怎么样.

   所以我还得把东西抽出来放到Jira上去跟踪,这是个非常麻烦的事。但凡事关执行力,都是最麻烦的事。Sonar的研究只是长征的第一步,离执行还很远 ...
0 请登录后投票
   发表时间:2010-10-14  
taikeqi 写道
   经过多天的研究,终于把sonar弄起来了。
Sonar确实是不错,可以自由定义checkstyle,pmd,findbug.看来作者对这个几个东西吃得很透,而且是一网打尽。我可以用它来检查代码,而且直接在sonar的平台界面内显示源代码的各项冲突,很直观,AJAX效果作的很好。比起CheckStyle和PMD自己生成报表的可读性要强10倍都不止!

   但是,但是最大的缺憾是对于每个冲突,他没有给出发生冲突的作者,这对Code Review的执行力大了折扣。我们这里不大可能召开什么会议来Review,必须直接将冲突分派到个人作者去改,通过Jira来跟踪,而且领导希望希望能够随时看见状态报告,谁谁的执行力怎么样.

   所以我还得把东西抽出来放到Jira上去跟踪,这是个非常麻烦的事。但凡事关执行力,都是最麻烦的事。Sonar的研究只是长征的第一步,离执行还很远 ...

所以呢,要读书,不读书是要吃亏的。
你要可读性来有什么用?你只要在任何人提交代码的第一时间告诉他,你刚才提交那20行代码里有问题。至于有什么问题,让他自己去查好了。
谈执行力之前,要先谈方向。方向走错了,你这个长征是真的很远。
0 请登录后投票
   发表时间:2010-10-15   最后修改:2010-10-18
1)你说可读性有什么用!?如果你手下的程序员告诉你我的程序可读性不好,我不知道什么叫可读性!你会怎么想?
2)提交的代码有问题,有什么问题?你自己都说不出来,你还能指望程序员自己反省啊?!莫须有啊?除非那个程序员很怕你,那么当你面对一堆程序员呢?

所以,方向也是摸索出来的,不是一促而蹴的.
0 请登录后投票
   发表时间:2010-11-03  
taikeqi 写道
由于先前公司做了一个外国的项目,那个项目好像基于掌上电脑的一个小网站(具体的不敢问头太多),结果我们的HTML代码写的不好,
被国外的人说我们的代码结构不好,CSS里属性值老多重复等.在我看来可能当时这样一种网站由于时间进度\项目规模等各种原因,没有足够的人手去把那些东西写好.

  结果后来这个单子就丢了.
  头就急了,后来就让我负责全部开发团队的代码规范的Code Review事宜.他在向其他人宣布我的这一职责也明确说了.Code Reveiw中我主要检查代码规范,至于具体其他性能上,设计上的就不是我的范畴了

  但问题是:代码规范都是静态的东西.怎么执行?执行到什么程度好呢?你比如说:几乎所有的语言的代码缩进都要求4个空格,如果让团队每个人都做到这一点?把它们的各种开发工具编辑器的都设置一遍吗?让他们自己设置?如果他们重新安装的电脑了怎么办?
  看似代码缩进4个空格的这个简单问题,执行起来确有各种可能,这里绝对不能有教条思维,

  还比如javascript,变量没有申明前,就不要直接使用.但是你如果真的用了,也没有关系,程序也能跑.这一点怎么执行呢?我还要辛辛苦苦用jslint.com的工具来检查.
程序员出现这种问题,只是道德问题,而不是法律问题;而头非要反过来说是警察和小偷的问题,是法律问题.

争论归争论,做还得做;

  我初步的步骤如下;
   1)调度svn命令,每天增量下载所有要Reivew项目代码的Source Code.
    2)Javascript:  jslint.com
      HTML:   http://validator.w3.org/    
      CSS:    http://jigsaw.w3.org/css-validator/
      JSP:    PMD
      Java:   PMD/Checkstyle
      C#:     unknown
      aspx:   unknown
    
用这些工具检查下载下来的各种类型文件,然后形成一个Jira Issues,提交到SVN版本库里的相应的作者.

这个过程是蛮麻烦和蛮琐碎的.

  1)整合这些工具,形成jira issue比较麻烦.
  2) jira issues还要跟踪,重新下载被Review的svn代码,检查,然后要向发生问题的解释,然后让他执行,这个比较费时,工作量无法估量

最麻烦的是头还要我形成一个报告,列出哪些是团队经常犯的代码规范问题 ?哪些人经常犯?我说这些问题你直接去看jira,他说他不看那些detail的报告,他要那些总结性的.
我的哥,这些报告如果没有每一个平台去自动形成,那么就意味着我要自己手工去归纳,我归纳出来的这样的报告有意义吗?这样的报告只是静态的.这样的工作持续会持续多长时间?
  我倒是想写一个软件平台,把上面的代码检查工具整合一下,自动形成jira issue,然后自动得出报告,但是这要费大量时间,而我又有其他工作.

各位,你们是如果做代码规范的Code Review的?

先说一句,4个空格问题解决是统一用tab键,不能用space键,checkstyle里可以设置,自动运行检查这一问题。
还有JIRA有图形统计功能,给领导看饼图,直方图,他就不敢说不想看detail的报告了。
最后说一句,Hudson可以整合所有代码检查工具,并且生成报告,但是要熟练运用也是要花费大量时间的。
呵呵,另外这种活都应该是QA做的,你们有QA吗?注意:我说的是QA不是QC哦
0 请登录后投票
   发表时间:2010-11-07  
在我们这里有 QA,可是QA不会对代码懂半点知识的。
Jira里哪里有饼图?他要的饼图是指有哪些问题的饼图,不是谁还有多少没有解决的图。
0 请登录后投票
   发表时间:2010-11-08  
taikeqi 写道
在我们这里有 QA,可是QA不会对代码懂半点知识的。
Jira里哪里有饼图?他要的饼图是指有哪些问题的饼图,不是谁还有多少没有解决的图。

原来如此,看来众口难调
0 请登录后投票
   发表时间:2010-11-11  
taikeqi 写道
   经过多天的研究,终于把sonar弄起来了。
Sonar确实是不错,可以自由定义checkstyle,pmd,findbug.看来作者对这个几个东西吃得很透,而且是一网打尽。我可以用它来检查代码,而且直接在sonar的平台界面内显示源代码的各项冲突,很直观,AJAX效果作的很好。比起CheckStyle和PMD自己生成报表的可读性要强10倍都不止!

   但是,但是最大的缺憾是对于每个冲突,他没有给出发生冲突的作者,这对Code Review的执行力大了折扣。我们这里不大可能召开什么会议来Review,必须直接将冲突分派到个人作者去改,通过Jira来跟踪,而且领导希望希望能够随时看见状态报告,谁谁的执行力怎么样.

   所以我还得把东西抽出来放到Jira上去跟踪,这是个非常麻烦的事。但凡事关执行力,都是最麻烦的事。Sonar的研究只是长征的第一步,离执行还很远 ...

------------------
   而且想修改sonar的界面太麻烦,竟然是ruby写的前台,改一个东西都要重新启动整个服务。太麻烦。
看来只得回到老的思路上了。
   看来还是得 整合PMD/CheckStyle 和 Jira. 但是都有技术难度阿,需要花时间啊!
   华为外包公司的就是好,专门有人做这种事情.
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics