以前没有做过代码评审,昨天刚刚开始实施代码评审,受益颇丰。代码评审的好处实在是太多了,不仅仅能够提高代码质量,发现很多潜在的问题,而且可以提高大家的编码水平,让大家沟通软件开发的思想,有太多好处了,实在是应该在各软件企业中积极推行。
这次是评审我的BUG导入模块的代码,代码量1200LOC。在评审前,我自认为写的还算是不错的啦。当然不是很完美,仅仅花了两天的时间编好的JAVA代码,JSP和HTML代码不作为评审内容。代码中还有很多小细节都没有写好。不过,这样的代码做代码评审也很不错,嘿嘿。
主要发现的问题:
细看一下,问题很不少呢。对于异常处理这块,问题相当多。有必要规范整个项目的异常处理体系,这个问题交由我和后军来负责。
这次是评审我的BUG导入模块的代码,代码量1200LOC。在评审前,我自认为写的还算是不错的啦。当然不是很完美,仅仅花了两天的时间编好的JAVA代码,JSP和HTML代码不作为评审内容。代码中还有很多小细节都没有写好。不过,这样的代码做代码评审也很不错,嘿嘿。
主要发现的问题:
- 异常处理问题。我犯的错误是将异常给隐藏起来了,并没有将出错的异常信息给保留下来,虽然在服务器端debug出来了,但还不够;通过异常去控制程序的执行;定义的是非运行时异常;该Throw出来的异常并没有Throw出来,通过返回true和false来表示程序结果是否正确,导致调用方并没有去检查true or false,造成程序的漏洞。
- Try,catch, finally的问题。没有将关闭资源的操作放到finally中。
- 范型和迭代。没有好好用JDK1.5的特性和简捷语法。
- 变量和常量命名不符合规范。
- 重构的时候还偷懒。有一个方法,明显应该是传入Element类型,而不应该传入Iterator类型。这个是我偷懒了:)
- 对JAVA API掌握不精。Integer.valueOf来代替new Integer(String s);
- 编程习惯的问题。Debug代替System.out(这个在被评审的代码当中老是看见,yjj编写的代码)
- 注释问题。注释不全,更不上。
细看一下,问题很不少呢。对于异常处理这块,问题相当多。有必要规范整个项目的异常处理体系,这个问题交由我和后军来负责。