首页 > 编程知识 正文

java 代码走查Java代码走查具体考察点,java代码走查工具

时间:2023-05-04 15:42:09 阅读:190279 作者:1682

代码进度调查的具体考察点

一.参数检查

所有公共方法都必须进行参数检查,参数检查失败,并显式抛出异常或相应的响应代码。

接口还显式使用注释限定参数和返回值的验证。 作为协议,调用方根据注释约束传递参数,返回值要求注释约束提供程序根据注释请求返回结果。

二、魔法数字(幻数) )

要使代码中的幻数为零,可以将幻数定义为枚举或常量以提高可读性。

三.空指针检查

不知道返回集合是否可以为空时,判断为非空后进行for循环。

尽可能返回空对象或空集合而不是空集合。

在判断字符串为空的情况下,要判断是否为空,再判断是否为空,最好提出共同的方法。

a .使用a.equal(b )时,将常数放在左边。

四.下标过境

方法作为参数传递给数组下标时,从一开始就进行下标越界的检查,避免下标越界异常。

五.重复验码

不允许写重复代码。 重复代码使用重构工具提取重构。

六.命名规范

包、类、方法、字段、变量和常量的命名遵循规范。

名副其实地下令,一方面提高可读性,另一方面鼓励在命名过程中考虑方法、变量和类的作用是否合适。

不要在循环中调用服务,也不要在循环中执行跨网络操作(如数据库)。

请注意,循环或递归必须包含停止循环/递归的条件。

尽量避免while(true ),如果一定要写的话,在循环开始处添加sleep,以免马上出现异常而让CPU跑。

七.注意循环

八.关注频率

写每个方法时,请注意该方法的调用频率。 一天多少次,一分钟多少次,一秒钟多少次,峰值有可能达到多少? 调用频率高的东西要考虑性能指标,考虑是否破坏数据库和高速缓存等。

九.错误控制

避免太大的try块,不要在try块中包含不出现异常的代码,以便一个try块可以处理一个或多个异常。

请细化异常的类型,任何类型的异常都不要写Excetpion。

catch块尽可能维护一个块来捕获一种类型的异常,而不要忽略捕获的异常。 捕获后进行处理,或者重新抛出新类型的异常。

方法在内部,不要向别人扔自己能处理的异常。

不要在try.catch上参与控制过程。 异常控制的根本目的是处理过程的异常。

十.关于长度

如果一行代码太长,请将其分解; 如果一个方法太长,请重建该方法。 如果一个类太长,请考虑取消分类

十一.外部依赖的性能

调用外部依赖时,请查明此外部依赖可以提供的性能指标,并考虑是否可以提供适合您的使用场景的服务。

十二.避免重造车轮

请不要重复做车轮。 如果成熟类库已经实现了类似的功能,请优先使用成熟类库的方法。 这是因为成熟类库的方法通过了很多人的测试验证,非常可靠。

十三.注意多线程

在多线程环境中,必须注意数据的原子性和可见性等线程安全问题。 最典型的HashMap、SimpleDateFormat、ArrayList是非线程安全的。 此外,使用Spring自动扫描服务时,该服务缺省为单实例,其内部成员由多个线程共享,如果直接使用成员变量,则不是线程安全的。

十四.日志打印

必须设置适当的日志级别才能打印日志。

生成成长字符串的toString ()时,可以通过日志级别和if语句控制打印量。 为什么这么说呢,因为长字符的拼接会消耗很多gc年轻一代的内存。

要在log4j上打印日志而不是直接在控制台上打印日志,请执行以下操作:

十五.方法实现简况

这不能说是细节,总之就是不要晃动地写代码。 具体问题请具体分析。

十六.正面依赖

下级模块不能依赖上级模块; 不要让数据层依赖于服务层; 服务层不能依赖于UI层; 模块之间不能形成循环依赖关系。

十七.分治

分开来说,复杂的问题需要分解成几个比较简单的问题来解决,首先分析核心问题,然后分析核心参与是什么,结果是什么,参与可以通过几步的变化来产生结果。 (该条为第10条)关于长度,有一定的重叠) ) ) ) ) ) )。

十八.条码稳健性意识

这一条是前面的几个综合,比较综合。 各种边界条件(例如,第四条的下标过境、用户输入数据超过最大值等)、处理失败或发生异常的方法(参照第九条、错误控制)、验证输入参数和返回值)第一条的参数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。