ImageVerifierCode 换一换
格式:DOCX , 页数:95 ,大小:76.42KB ,
资源ID:12396550      下载积分:6 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12396550.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FindBugs错误修改中文说明大全.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

FindBugs错误修改中文说明大全.docx

1、FindBugs错误修改中文说明大全FindBugs错误修改中文说明大全FindBug错误修改中文说明大全复制你的Pattern id然后用Ctrl+F快速查找定位Security 关于代码安全性防护序号Description备注1.Dm: Hardcoded constant database password (DMI_CONSTANT_DB_PASSWORD)代码中创建DB的密码时采用了写死的密码。2.Dm: Empty database password (DMI_EMPTY_DB_PASSWORD)创建数据库连接时没有为数据库设置密码,这会使数据库没有必要的保护。3.HRS: HTT

2、P cookie formed from untrusted input (HRS_REQUEST_PARAMETER_TO_COOKIE)此代码使用不受信任的HTTP参数构造一个HTTP Cookie。4.HRS: HTTP Response splitting vulnerability (HRS_REQUEST_PARAMETER_TO_HTTP_HEADER)在代码中直接把一个HTTP的参数写入一个HTTP头文件中,它为HTTP的响应暴露了漏洞。5.SQL: Nonconstant string passed to execute method on an SQL statement

3、(SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE)该方法以字符串的形式来调用SQLstatement的execute方法,它似乎是动态生成SQL语句的方法。这会更容易受到SQL注入攻击。6.XSS: JSP reflected cross site scripting vulnerability (XSS_REQUEST_PARAMETER_TO_JSP_WRITER)在代码中在JSP输出中直接写入一个HTTP参数,这会造成一个跨站点的脚本漏洞。Experimental序号Description备注1.2.3.OBL: Method may fail to c

4、lean up stream or resource (OBL_UNSATISFIED_OBLIGATION)这种方法可能无法清除(关闭,处置)一个流,数据库对象,或其他资源需要一个明确的清理行动。一般来说,如果一个方法打开一个流或其他资源,该方法应该使用try / finally块来确保在方法返回之前流或资源已经被清除了。这种错误模式基本上和OS_OPEN_STREAM和ODR_OPEN_DATABASE_RESOURCE错误模式相同,但是是在不同在静态分析技术。我们正为这个错误模式的效用收集反馈意见。Bad practice代码实现中的一些坏习惯序号Description备注1.AM: C

5、reates an empty jar file entry (AM_CREATES_EMPTY_JAR_FILE_ENTRY)调用putNextEntry()方法写入新的 jar 文件条目时立即调用closeEntry()方法。这样会造成JarFile条目为空。2.AM: Creates an empty zip file entry (AM_CREATES_EMPTY_ZIP_FILE_ENTRY)调用putNextEntry()方法写入新的 zip 文件条目时立即调用closeEntry()方法。这样会造成ZipFile条目为空。3.BC: Equals method should no

6、t assume anything about the type of its argument (BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS)equals(Object o)方法不能对参数o的类型做任何的假设。比较此对象与指定的对象。当且仅当该参数不为 null,并且是表示与此对象相同的类型的对象时,结果才为 true。4.BC: Random object created and used only once (DMI_RANDOM_USED_ONLY_ONCE)随机创建对象只使用过一次就抛弃5.BIT: Check for sign of b

7、itwise operation (BIT_SIGNED_CHECK)检查位操作符运行是否合理(event.detail & SWT.SELECTED) 0)If SWT.SELECTED is a negative number, this is a candidate for a bug. Even when SWT.SELECTED is not negative, it seems good practice to use != 0 instead of 0.6.CN: Class implements Cloneable but does not define or use clon

8、e method (CN_IDIOM)按照惯例,实现此接口的类应该使用公共方法重写 Object.clone(它是受保护的),以获得有关重写此方法的详细信息。此接口不 包含 clone 方法。因此,因为某个对象实现了此接口就克隆它是不可能的,应该实现此接口的类应该使用公共方法重写 Object.clone7.CN: clone method does not call super.clone() (CN_IDIOM_NO_SUPER_CALL)一个非final类型的类定义了clone()方法而没有调用super.clone()方法。例如:B扩展自A,如果B中clone方法调用了spuer.cl

9、one(),而A中的clone没有调用spuer.clone(),就会造成结果类型不准确。要求A的clone方法中调用spuer.clone()方法。8.CN: Class defines clone() but doesnt implement Cloneable (CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE)类中定义了clone方法但是它没有实现Cloneable接口9.Co: Abstract class defines covariant compareTo() method (CO_ABSTRACT_SELF)抽象类中定义了多个compareTo()方

10、法,正确的是覆写Comparable中的compareTo方法,方法的参数为Object类型,如下例:int compareTo(T o) 比较此对象与指定对象的顺序。10.Co: Covariant compareTo() method defined (CO_SELF_NO_OBJECT)类中定义了多个compareTo()方法,正确的是覆写Comparable中的compareTo方法,方法的参数为Object类型11.DE: Method might drop exception (DE_MIGHT_DROP)方法可能抛出异常12.DE: Method might ignore exc

11、eption (DE_MIGHT_IGNORE)方法可能忽略异常13.DMI: Dont use removeAll to clear a collection (DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION)不要用removeAll方法去clear一个集合14.DP: Classloaders should only be created inside doPrivileged block (DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED)类加载器只能建立在特殊的方法体内15.Dm: Method invokes Sys

12、tem.exit(.) (DM_EXIT)在方法中调用System.exit(.)语句,考虑用RuntimeException来代替16.Dm: Method invokes dangerous method runFinalizersOnExit (DM_RUN_FINALIZERS_ON_EXIT)在方法中调用了System.runFinalizersOnExit 或者Runtime.runFinalizersOnExit方法,因为这样做是很危险的。17.ES: Comparison of String parameter using = or != (ES_COMPARING_PARAM

13、ETER_STRING_WITH_EQ)用=或者!=方法去比较String类型的参数18.ES: Comparison of String objects using = or != (ES_COMPARING_STRINGS_WITH_EQ)用=或者!=去比较String类型的对象19.Eq: Abstract class defines covariant equals() method (EQ_ABSTRACT_SELF)20.Eq: Equals checks for noncompatible operand (EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_

14、WITH_THIS)equals方法检查不一致的操作。两个类根本就是父子关系而去调用equals方法去判读对象是否相等。public boolean equals(Object o) if (o instanceof Foo) return name.equals(Foo)o).name); else if (o instanceof String) return name.equals(o); else return false;21.Eq: Class defines compareTo(.) and uses Object.equals() (EQ_COMPARETO_USE_OBJEC

15、T_EQUALS)类中定义了compareTo方法但是继承了Object中的compareTo方法22.Eq: equals method fails for subtypes (EQ_GETCLASS_AND_CLASS_CONSTANT)类中的equals方法可能被子类中的方法所破坏,当使用类似于Foo.class = o.getClass()的判断时考虑用this.getClass() = o.getClass()来替换23.Eq: Covariant equals() method defined (EQ_SELF_NO_OBJECT)类中定义了多个equals方法。正确的做法是覆写O

16、bject中的equals方法,它的参数为Object类型的对象。24.FI: Empty finalizer should be deleted (FI_EMPTY)为空的finalizer方法应该删除。一下关于finalizer的内容省略25.GC: Unchecked type in generic call (GC_UNCHECKED_TYPE_IN_GENERIC_CALL)This call to a generic collection method passes an argument while compile type Object where a specific typ

17、e from the generic type parameters is expected. Thus, neither the standard Java type system nor static analysis can provide useful information on whether the object being passed as a parameter is of an appropriate type.26.HE: Class defines equals() but not hashCode() (HE_EQUALS_NO_HASHCODE)方法定义了equa

18、ls方法却没有定义hashCode方法27.HE: Class defines hashCode() but not equals() (HE_HASHCODE_NO_EQUALS) 类定义了hashCode方法去没有定义equal方法28.HE: Class defines equals() and uses Object.hashCode() (HE_EQUALS_USE_HASHCODE)一个类覆写了equals方法,没有覆写hashCode方法,使用了Object对象的hashCode方法29.HE: Class inherits equals() and uses Object.ha

19、shCode() (HE_INHERITS_EQUALS_USE_HASHCODE)子类继承了父类的equals方法却使用了Object的hashCode方法30.IC: Superclass uses subclass during initialization (IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION)子类在父类未初始化之前使用父类对象实例public class CircularClassInitialization static class InnerClassSingleton extends CircularClassIn

20、itialization static InnerClassSingleton singleton = new InnerClassSingleton(); static CircularClassInitialization foo = InnerClassSingleton.singleton;31.IMSE: Dubious catching of IllegalMonitorStateException (IMSE_DONT_CATCH_IMSE)捕捉违法的监控状态异常,例如当没有获取到对象锁时使用其wait和notify方法32.ISC: Needless instantiation

21、 of class that only supplies static methods (ISC_INSTANTIATE_STATIC_CLASS)为使用静态方法而创建一个实例对象。调用静态方法时只需要使用类名+静态方法名就可以了。33.It: Iterator next() method cant throw NoSuchElementException (IT_NO_SUCH_ELEMENT)迭代器的next方法不能够抛出NoSuchElementException34.J2EE: Store of non serializable object into HttpSession (J2E

22、E_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION)在HttpSession对象中保存非连续的对象35.JCIP: Fields of immutable classes should be final (JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS) The class is annotated with net.jcip.annotations.Immutable, and the rules for that annotation require that all fields are final. .36.

23、NP: Method with Boolean return type returns explicit null (NP_BOOLEAN_RETURN_NULL)返回值为boolean类型的方法直接返回null,这样会导致空指针异常37.NP: equals() method does not check for null argument (NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT)变量调用equals方法时没有进行是否为null的判断38.NP: toString method may return null (NP_TOSTRING_COULD_RET

24、URN_NULL)toString方法可能返回null39.Nm: Class names should start with an upper case letter (NM_CLASS_NAMING_CONVENTION)类的名称以大写字母名称开头40.Nm: Class is not derived from an Exception, even though it is named as such (NM_CLASS_NOT_EXCEPTION)类的名称中含有Exception但是却不是一个异常类的子类,这种名称会造成混淆41.Nm: Confusing method names (N

25、M_CONFUSING)令人迷惑的方面命名42.Nm: Field names should start with a lower case letter (NM_FIELD_NAMING_CONVENTION)非final类型的字段需要遵循驼峰命名原则43.Nm: Use of identifier that is a keyword in later versions of Java (NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER)验证是否是java预留关键字44.Nm: Use of identifier that is a keyword in later

26、versions of Java (NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER)验证是否时java中的关键字45.Nm: Method names should start with a lower case letter (NM_METHOD_NAMING_CONVENTION)方法名称以小写字母开头46.Nm: Class names shouldnt shadow simple name of implemented interface (NM_SAME_SIMPLE_NAME_AS_INTERFACE)实现同一接口实现类不能使用相同的名称,即

27、使它们位于不同的包中47.Nm: Class names shouldnt shadow simple name of superclass (NM_SAME_SIMPLE_NAME_AS_SUPERCLASS)继承同一父类的子类不能使用相同的名称,即使它们位于不同的包中48.Nm: Very confusing method names (but perhaps intentional) (NM_VERY_CONFUSING_INTENTIONAL)很容易混淆的方法命名,例如方法的名称名称使用使用大小写来区别两个不同的方法。49.Nm: Method doesnt override meth

28、od in superclass due to wrong package for parameter (NM_WRONG_PACKAGE_INTENTIONAL)由于错误引用了不同包中相同类名的对象而不能够正确的覆写父类中的方法import alpha.Foo;public class A public int f(Foo x) return 17; import beta.Foo;public class B extends A public int f(Foo x) return 42; public int f(alpha.Foo x) return 27; 50.ODR: Metho

29、d may fail to close database resource (ODR_OPEN_DATABASE_RESOURCE)方法中可能存在关闭数据连接失败的情况51.OS: Method may fail to close stream (OS_OPEN_STREAM)方法中可能存在关闭流失败的情况52.OS: Method may fail to close stream on exception (OS_OPEN_STREAM_EXCEPTION_PATH)方法中可能存在关闭流时出现异常情况53.RC: Suspicious reference comparison to cons

30、tant (RC_REF_COMPARISON_BAD_PRACTICE)当两者为不同类型的对象时使用equals方法来比较它们的值是否相等,而不是使用=方法。例如比较的两者为java.lang.Integer, java.lang.Float54.RC: Suspicious reference comparison of Boolean values (RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN)使用= 或者 !=操作符来比较两个 Boolean类型的对象,建议使用equals方法。55.RR: Method ignores results of Inpu

31、tStream.read() (RR_NOT_CHECKED)InputStream.read方法忽略返回的多个字符,如果对结果没有检查就没法正确处理用户读取少量字符请求的情况。56.RR: Method ignores results of InputStream.skip() (SR_NOT_CHECKED)InputStream.skip()方法忽略返回的多个字符,如果对结果没有检查就没法正确处理用户跳过少量字符请求的情况57.RV: Method ignores exceptional return value (RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)方法忽略返回

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2