`
橡树心
  • 浏览: 47962 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

代码走查

    博客分类:
  • J2EE
阅读更多

代码走查,就是一群人一起,对别人写的代码进行分析。在算法上,在具体实现上,提出改进的意见。以使得程序更加健壮,更加有效率。今天对我写的一个Java Mail程序进行走查。自我感觉写得是有点丑,但是基本功能还是实现得很好的。经过走查,我收获很多。

下面是一些讨论中,可以改进的地方。

 

1】多用面向对象的思想。以对象为处理的整体。

我的dao层,取得是诸如arrayListint,这些单独的数据。这样子,没有把它封装起来成来一个对象,不利于处理。因为随着数据的增多,传单独的数据,不利于理解,也不利于操作。把它们封装成个对象,条理会清晰点。这里主要是考虑到以后扩展的需要。比如一个Bug,你现在可以简单地传一些titleid,但是如果需要传的数据量多时,就比不上传一个Bug对象了。

 

2】在现有的Dao层上,再抽象出一层,用于包装逻辑操作,以及处理对象。

如果直接在Dao层上处理,比如封装对象等。也不好,因为这样就会嵌入过多的逻辑操作。与数据库操作的方法绑在一起,不符合功能独立的需求。所以,可以再进行一次的抽象,利用这些离散的数据来组合。这个可以参考公司的UtilityDBManager这些类。他们的作用就是封装底层数据库操作,获得一个完整的对象以供其他人使用。

 

3】没有考虑到mail发送失败这种具体情况。

我之前的操作时,利用最后处理的action id,记为lastMailAction。如果一个actionid大于lastMailAction,说明它还未被读取过,于是为此bug发送邮件。处理完后,将lastMailAction设置为这些Bug中的最大值。

这样是方便操作。但是忽略了一个重要的因素:如果为此Bug发送邮件失败怎么办?通过一个lastMailAction,不足以表明哪些Bug成功发送,哪些失败。所以,从健壮性来讲,还是需要为Bug设置一个标记位,通过它来表示是否发送成功。这个是必要的。实际上,是会有失败的情况,不要太理想化。

 

4】把经常变化的量,和不常变的量分开。

这点,与上面的理由类似。一开始,我将mailhostuserNamepasswordlastMailAction放在同一文件里。每次更新lastMailAction时,就要重新写这个文件。但是,hostuserNamepassword这些一般是不变的,单独是lastMailAction变化而已。这样,如果在写lastMailAction时失败,影响到host这些怎么办。所以,不应该把他们放在一起。常变的与不常变的,应该分开。要考虑写失败这种实际情况。

 

5】不要把一些配置写死到文件。

诸如hostuserNamepassword这些,不应该写死到程序里。这样,当有变化时,自己修改程序代码,很麻烦,而且有可能会出错。应该把这些配置写到文件上。有个Properties对象,可以用于初始配置。

就是说,当有变化时,尽量可以用不修改代码的方式实现。修改代码不安全。

 

6】把一些有共同处理流程的方法,抽象成一个函数。

这个理由也与上面相似。在我的程序里,有sendMailsendMailReguraly函数。这两个都是发送邮件,一个是利用bug id发送,一个是利用bug 状态发送。但它们大部分的程序还是相同的,所以应该把它们放到一个函数里,利用标记位、参数来区别不同的操作。首先,可以省一些代码。其次,修改时,只需到一个地方修改即可,而不用在两个地方分别修改。这也是改动尽量少的代码的原则。(不要以为Copy,修改一个成为另一个函数是王道

 

7】考虑最小消耗的方法。

循环一个arrayList时,我用的是while(!..isEmpty()){….remove(0)};的做法。但这样子,remove的操作,耗时大。如果使用一个指针i遍历数组的方式,不用改变它的结构,耗时相对会少一点。

同样的,对于多个String的合并,使用…+…+…+的方法也不好,因为,String就是一个对象,使用加号,把两个String加起,你要新建一个String,存储它们合并的结果。在利用这个String,与下一个String做加操作,又需一个新的String。所以,可以考虑使用StringBufferString..(忘了是什么哈),这样处理会节省点。

虽然说,算法方面的优化,会很显著,这些只是小修小补。不过这就涉及到态度的问题,做到,还是做的漂亮。这些就需要在细节上做功夫。

 

8】统计出错信息

一般我们遇到error Exception时,都直接e.print..,这样也不好。因为我们是隔一段时间就运行这个程序,每人监控,所以,统计的信息应该输出到文件中。可以使用log4j这种方法,也是java提供的。

 

9】有exception时,finally的使用

比如一些输入输出流,有exception时,最好在finally里将它close掉。这些小的方面,就是对于程序结构的了解。不要以为exception是不会出现的….

分享到:
评论

相关推荐

    前端-代码走查模板.docx

    在前端项目管理中,代码走查是一个至关重要的环节,它有助于规范开发行为,统一团队内的编码风格,并且能够提前发现并修复潜在的问题,提高代码质量和软件稳定性。代码走查不仅是一种质量保证手段,而且能够促进团队...

    java代码走查计划书.doc

    java代码走查计划书 java代码走查计划书是软件开发中的一种质量保证活动,旨在检查代码质量、发现代码缺陷、提高代码可维护性和可读性。该计划书详细描述了代码走查的整个过程,包括走查计划、成员角色、走查过程、...

    代码走查规范文档

    代码走查规范文档

    代码走查记录表 模板

    项目代码走查记录表 描述检查人员 检查时间,检查发现那些问题等等。

    代码走查记录表

    制定代码走查标准,记录代码走查路径,代码走查代码数,缺陷数,负责人,建议修改意见,检查人,检查时间,是否修改,修改意见,修改人,修改时间,审核是否通过,审核人,审核时间;并进行合计总检查代码数,缺陷...

    java项目代码走查模版

    Java项目代码走查是软件开发过程中的一个关键环节,它是一种质量保证活动,旨在通过团队成员审查彼此的代码来发现并修复潜在的问题。这个过程有助于提高代码质量、减少错误、增强团队间的协作,并且能够尽早识别出...

    项目代码走查单(示例).xls

    项目代码走查单作为日常IT项目管理 的有效工具,适合在项目研发上线前评估项目代码使用,以检测代码中可能存在的风险

    嵌入式系统C代码走查检查单(编程必看).doc

    嵌入式系统C代码走查检查单 嵌入式系统C代码走查检查单是指在编写和维护嵌入式系统C代码时,需要遵守的一系列规范和检查项。这些规范和检查项旨在确保代码的可读性、可维护性和可靠性,避免常见的错误和 Bug。 一...

    系统测试中代码走查测试方法

    代码走查测试方法在系统测试中的应用 代码走查是一种白盒测试方法,主要用于检测代码的质量和可靠性。在系统测试中,代码走查测试方法可以帮助开发人员和测试人员发现代码中的缺陷和问题,提高代码的质量和可靠性。...

    代码走查工具插件checkstyle最新版本

    **代码走查工具Checkstyle详解** Checkstyle是一款强大的开源代码质量检查工具,它主要用于静态分析Java源代码,帮助开发者遵循编码规范,确保代码的一致性和可读性。最新版本的Checkstyle插件提供了更多的功能和...

    SSM-ZTE-AndroidUI-CRR-0.1 代码走查报告1

    【SSM-ZTE-AndroidUI-CRR-0.1 代码走查报告1】是针对“中兴Android系统界面软件设计与开发”项目的代码质量检查报告。这份文档旨在确保项目的软件开发过程符合相关标准和规范,提高代码质量和系统的稳定性。 1.1 ...

    CMMI 组织级代码走查发现缺陷数

    在“组织级代码走查发现缺陷数”这个主题中,我们将深入探讨CMMI如何通过代码审查这一过程来管理和减少软件缺陷。 代码走查是CMMI中的一个关键实践,属于“过程管理”过程域。它是质量保证的一种形式,通过同行评审...

    代码走查工具介绍

    代码走查是软件开发过程中的一个关键环节,它旨在通过同行审查来发现并修复代码中的错误和潜在问题。本文将详细介绍一种代码走查工具——PCLint,这是一款源自源码分析工具,对于提高代码质量和确保软件稳定性具有...

    代码走查工具.pptx

    标题:“代码走查工具.pptx” 描述:本文件详细介绍了多种代码走查工具,旨在指导用户如何利用这些工具提升编程效率与代码质量。重点涵盖了Stylecheker、Findbugs等工具在MyEclipse中的应用,包括插件安装及基本...

    代码走查注意事项

    代码走查是软件开发过程中的重要环节,旨在发现和修复代码中的潜在问题,确保软件的质量和稳定性。以下是一些在代码走查时需要注意的关键点: 1. 异常处理:在Action方法中,不应直接抛出异常。应当使用try-catch块...

    代码走查检查单.xls

    代码走查单,代码检查。

    Java代码走查注意点

    Java代码走查注意点 Java 代码走查是软件开发中的一项重要任务,它可以帮助开发者发现和修复代码中的错误和不良实践。以下是 Java 代码走查过程中的注意点: 1. 尽量避免使用 import* 导致的问题 在 Java 代码中...

    C#代码走查,代码格式化工具及注册机

    本篇将深入探讨“C#代码走查”、使用“StyleCop”进行代码规范检查,以及“Resharper”这款强大的IDE插件,包括如何获取和安装它们。 首先,我们来看“代码走查”。代码走查是一种软件质量保证活动,通过同行审查源...

Global site tag (gtag.js) - Google Analytics