java 代码走查_代码走查检查表(JAVA).doc

java 代码走查_代码走查检查表(JAVA).doc代码走查检查表 JAVA doc 代码走查检查表项目名称 模块名称 版本号 检查时间 检查员 检查项是 否 不适用注释命名 注释及风格文件 类 接口 静态变量 成员变量 方法及关键代码是否都有格式良好 简明扼要 的注释 注释是否是对设计思路的说明而不仅仅是代码行为的

代码走查检查表(JAVA).doc

代码走查检查表

项目名称: 模块名称: 版本号:

检查时间: 检查员:

#检查项是/否/不适用注释命名、注释及风格文件、类/接口、静态变量、成员变量、方法及关键代码是否都有格式良好、简明扼要、的注释?注释是否是对设计思路的说明而不仅仅是代码行为的描述?是否存在过时的注释或废代码注释?自查,互查文件中各种段落布局是否合理、是否用恰当的空行分隔?代码的断行、对齐、缩进、空行是否恰当?自查,互查代码中的变量、属性、参数、方法、类是否恰当命名?有无易相互混淆的命名?自查,互查其他编码风格是否符合规范要求?如if、else永远加{};for、while的格式;switch永远有default;case有break等等自查,互查设计原则成员变量和方法public/private/protected关键字是否恰当?内部类、非公共类及其内部成员、方法的访问权限是否合适?项目经理嵌套内部类是否超过2层?自查,互查所有方法是抽象的且所有成员变量是静态常量的抽象类是否声明成了接口?项目经理当类所有的方法和属性都是静态的时,是否定义了缺省的私有构造方法?没有使用任何实例类成员(包括方法和成员变量)的方法是否被声明为静态的?异常发生时是否均恰当的记录了错误日志?是否存在使用System.out.println而不是日志模块记录日志的情况发生?项目经理是否有应定义为常量的数字、字符、字符串等存在?参数、变量等的类型是否定义的合适?精度是否足够?声明为超类的子类实例是否恰当?方法的返回值是否定义恰当?使用已有设计模式时,该模式要求的技术细节是否实现正确、完整?单态模式类的构造函数是否声明为了私有?Lazy类型的单态模式是否使用了同步?观察者模式attach与detach是否匹配?是否存在废代码?是否存在没有使用的参数、变量、对象实例?是否存在重复、无效的方法、语句或子条件表达式?子类或数据处理下游代码中是否重复设计了父类或数据处理上游代码中已有的功能?调试用的代码是否恰当的封装在了if (log.isDebugEnable)中?是否存在不必要的import句?缺陷检查程序逻辑是否符合详细设计?输入参数、调用其他函数的返回值是否有必要校验合法性、完整性、依赖关系?如有必要,是否做了恰当的校验?如无必要,是否有多余的代码?是否避免了在抽象类构造方法中调用抽象方法?是否避免了直接抛出Exception类异常,而没有抛出恰当的由Exception派生的异常类?try catch的结构是否合理?catch语句处理是否恰当?异常转抛时是否携带了嵌套异常?equals()方法处理中是否使用了getClass()方法检查类型相同?打开的流、连接等资源是否在finally语句块或恰当的地方关闭或释放了?临时资源使用完后是否及时释放了?如临时文件要及时删除。各种资源释放的顺序是否正确?克隆方法中是否调用了父克隆方法?克隆方法中是否避免了调用构造函数?使用ObjectStream后是否调用了reset()方法以避免内存泄漏?条件、循环中的判断边界值是否恰当?程序块的break、return、throw是否恰当?charAt()、数组下标、parseInt之类可能抛运行时异常的方法是否需要事先判断或事后catch?如需要,处理是否恰当?相似的代码块是否是拷贝过来的?如果是,则需检查拷贝的代码中每处需要修改的地方是否都修改了。是否存在其他可能造成缺陷的代码?在if条件中赋值精度丢失浮点数判等循环体中修改循环变量case语句缺失break字符串比较没有使用equals或compareTo不恰当的static变量代码优化(项目经理)同步方法的使用是否必要?同步代码块是否已粒度最小化?在不影响可读性和易维护性的前提下,对象是否可重复利用?如StringBuffer可以通过setLength(0)重复利用,无需每次重复创建新实例。是否

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222723.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:07
下一篇 2026年3月17日 下午3:08


相关推荐

  • centos7忘记root密码解决办法

    centos7忘记root密码解决办法

    2021年6月2日
    103
  • Linux权限详解(chmod、600、644、700、711、755、777、4755、6755、7755)「建议收藏」

    Linux权限详解(chmod、600、644、700、711、755、777、4755、6755、7755)「建议收藏」权限简介Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux下文件的权限类型一般包括读,写,执行。对应字母为r、w、x。 Linux下权限的粒度有拥有者、群组、其它组三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组,如果其它的用户想有这个文件的权限…

    2022年4月27日
    59
  • jdk和jvm区别_java中集合和数组的区别

    jdk和jvm区别_java中集合和数组的区别最近翻看了java线程相关的东西,书中有一边专门讲到java内存模型,读完之后边回想起java虚拟机模型,那时心中便在思考java内存模型(以下简称jmm)和java虚拟机模型(以下简称jvm)之间的关系,下面将详细讲述。一jvm结构jvm的内部结构如下图所示,这张图很清楚形象的描绘了整个JVM的内部结构,以及各个部分之间的交互和作用。1ClassLoader(类加载器)就是…

    2025年9月11日
    6
  • S3C2440C语言点灯「建议收藏」

    S3C2440C语言点灯「建议收藏」第一代程序员使用机器码第二代程序员使用汇编第三代程序员使用C语言C语言相较于汇编和机器码是一个更高级的语言,我们使用的技术也应该与时俱进之前控制寄存器是配置GPFCON和GPFDAT寄存器,通过地址访问,所以可以用C语言来进行对地址的访问。GPFCON——0x5600,0050GPFDAT——0x5600,0054目录S3C2440芯片手册导读用指针表示S3C2440芯片手册导读对于GPFCON,只用到了16位对于GPFDAT,只用到了8位我们仍然可以以32位,就是4字节的

    2022年6月13日
    28
  • redis分布式锁的应用场景_redis为什么可以做分布式锁

    redis分布式锁的应用场景_redis为什么可以做分布式锁“分布式锁”是用来解决分布式应用中“并发冲突”的一种常用手段,实现方式一般有基于zookeeper及基于redis二种。具体到业务场景中,我们要考虑二种情况:一、抢不到锁的请求,允许丢弃(即:忽略)比如:一些不是很重要的场景,比如“监控数据持续上报”,某一篇文章的“已读/未读”标识位更新,对于同一个id,如果并发的请求同时到达,只要有一个请求处理成功,就算成功。用活动图表示如下:二、并发请求,不论哪一条都必须要处理的场景(即:不允许丢数据)比如:一个订单,客户正在前台修改地址,.

    2025年10月6日
    5
  • 制作自己的python版本的类CIFAR10数据集「建议收藏」

    制作自己的python版本的类CIFAR10数据集「建议收藏」之前发布的仿照CIFAR10数据集格式,制作自己的数据集(C++版本),得到一些网友的关注,并且不断有网友在评论区或者私信里询问,怎样制作python版本的。趁着下午有点闲时间,把制作方法整理发布在这里,希望对大家有所帮助。

    2022年6月22日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号