Ai
1 Star 0 Fork 89

will-we/easy-code

forked from 爪哇老妖/easy-code 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
eagle_checks.xml 29.54 KB
一键复制 编辑 原始数据 按行查看 历史
爪哇老妖 提交于 2017-05-24 12:09 +08:00 . [easy-code]add eagle_checks.xml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<property name="severity" value="warning"/>
<property name="fileExtensions" value="java, properties, xml"/>
<!-- ###################################文件Check START################################### -->
<!--
检查文件是否以一个新行结束
-->
<module name="NewlineAtEndOfFile">
<metadata name="net.sf.eclipsecs.core.comment" value="文件应以一个新行结束"/>
</module>
<!-- Checks that property files contain the same keys. -->
<!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
<!--
检查**.properties配置文件 是否有没有设值的key
-->
<module name="Translation"/>
<!--<module name="FileLength">-->
<!--<metadata name="net.sf.eclipsecs.core.comment" value="文件长度不超过3000行"/>-->
<!--<property name="severity" value="error"/>-->
<!--<property name="max" value="3000"/>-->
<!--<message key="maxLen.file" value="当前文件长度 {0,number,integer} lines (文件长度不超过{1,number,integer}行)."/>-->
<!--</module>-->
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<!--
检查文件中是否含有'\t'
-->
<module name="FileTabCharacter">
<metadata name="net.sf.eclipsecs.core.comment" value="文件中含有'\t'"/>
<property name="eachLine" value="true"/>
</module>
<!-- ###################################文件Check END################################### -->
<module name="TreeWalker">
<!-- ###################################可读性Check START################################### -->
<!-- 不许使用switch,"a++"这样可读性很差的代码 -->
<module name="IllegalToken">
<property name="tokens" value="LITERAL_NATIVE"/>
<property name="severity" value="error"/>
</module>
<module name="IllegalTokenText">
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
<property name="format"
value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
<!--<property name="message" value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>-->
<property name="severity" value="error"/>
</module>
<!-- ###################################可读性Check END################################### -->
<!-- ###################################命名Check START################################### -->
<!-- 方法的参数名 -->
<module name="ParameterName">
<property name="format" value="(^[a-z][a-zA-Z0-9_]{0,64}$)"/>
<property name="severity" value="error"/>
</module>
<!-- ###################################命名Check END################################### -->
<!-- ###################################导入Check START################################### -->
<!--
检查是否从非法的包中导入了类 illegalPkgs: 定义非法的包名称
defaults to sun.* packages
-->
<module name="IllegalImport"/>
<!--
检查是否导入了不必显示导入的类
-->
<module name="RedundantImport"/>
<!-- 检查是否导入的包没有使用-->
<module name="UnusedImports">
<property name="severity" value="info"/>
<message key="import.unused" value="没用的import - {0}."/>
</module>
<!-- 导入排序 -->
<!-- groups:分组,哪些是一组的 -->
<!-- ordered:同一个组内是否排序,true排序,确省为true -->
<!-- separated:各个组之间是否需要用空行分隔,确省为false -->
<!-- caseSensitive:是否是大小写敏感的,确省是 -->
<!--
<module name="ImportOrder">
<property name="groups" value="java,javax"/>
<property name="ordered" value="true"/>
<property name="separated" value="true"/>
<property name="caseSensitive" value="true"/>
</module>
-->
<!-- ###################################导入Check END################################### -->
<!-- ###################################空格Check START################################### -->
<!--
检查for iterator语句是否使用空格
option: 定义初始化语句是否使用空格,例如:space表示使用空格,则for(Iterator iterator = List.iterator(); iterator.hasNext(); iterator.next())就是形式合理的,否则就是形式不合理的
-->
<module name="EmptyForIteratorPad"/>
<module name="EmptyForInitializerPad"/>
<!--
检查方法参数的格式
allowLineBreaks: 参数是否允许在不同行
option: 在参数和括号、参数和标识符之间是否包含空格
-->
<module name="MethodParamPad">
<property name="allowLineBreaks" value="true"/>
</module>
<!--
检查左小括号'('后边和右小括号')'前边是否有空格
option: space表示有空格,nospace表示没有空格
tokens: 定义检查的类型
-->
<module name="ParenPad"/>
<!--
Checks the policy on the padding of parentheses for typecasts. That is, whether a space is required after a left parenthesis and before a right parenthesis, or such spaces are forbidden.
在类型转换时,不允许左圆括号右边有空格,也不允许与右圆括号左边有空格
-->
<module name="TypecastParenPad"/>
<!--
检查类型后是否包含空格 Checks that a token is followed by whitespace.
tokens: 检查的类型
-->
<module name="WhitespaceAfter"/>
<!--
Checks that a token is surrounded by whitespace. Empty constructor and method bodies (blocks) of the form
public MyClass() {} // empty constructor
public void func() {} // empty method
may optionally be exempted from the policy using the allowEmptyMethods and allowEmptyConstructors properties.
allowEmptyConstructors default value is false
allowEmptyMethods default value is false
-->
<module name="WhitespaceAround"/>
<!-- ###################################空格Check END################################### -->
<!-- ###################################代码Check START################################### -->
<!--
检查运算符是否在应在同一行
option: 定义运算符的位置,eol在同一行,nl在下一行
tokens: 定义检查的类型
-->
<module name="OperatorWrap"/>
<!-- Modifier Checks -->
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
<!--
ModifierOrder 检查修饰符的顺序,默认是 public,protected,private,abstract,static,final,transient,volatile,synchronized,native,strictfp
-->
<module name="ModifierOrder"/>
<!--
检查是否有多余的修饰符,例如:接口中的方法不必使用public、abstract修饰
tokens: 检查的类型
-->
<module name="RedundantModifier"/>
<!---
字符串比较必须使用 equals()
-->
<module name="StringLiteralEquality">
<property name="severity" value="error"/>
</module>
<!--
检查是否有嵌套的代码块
allowInSwitchCase: 定义是否允许switch case中使用嵌套的代码块
-->
<module name="AvoidNestedBlocks">
<property name="severity" value="error"/>
</module>
<!--
检查是否有空代码块
option: 定义代码块中应该包含的内容,例如:stmt表示语句
tokens: 检查的类型
-->
<module name="EmptyBlock"/>
<!--
Checks the placement of right curly braces ('}') for else, try, and catch tokens. The policy to verify is specified using property option.
option: 右大括号是否单独一行显示
tokens: 定义检查的类型
-->
<module name="RightCurly">
<property name="option" value="alone"/>
<property name="tokens" value="LITERAL_ELSE, METHOD_DEF"/>
</module>
<!--
检查是否在同一行初始化, 例如:private int Age = nGe==1 ? 100 : 0; 就应该避免
Detects inline conditionals. An example inline conditional is this:
String a = getParameter("a");
String b = (a==null || a.length<1) ? null : a.substring(1);
Rationale: Some developers find inline conditionals hard to read, so their company's coding standards forbids them.
-->
<module name="AvoidInlineConditionals">
<property name="severity" value="error"/>
</module>
<!--
Detects empty statements (standalone ;).
-->
<module name="EmptyStatement"/>
<!--
检查在重写了equals方法后是否重写了hashCode方法
-->
<module name="EqualsHashCode">
<property name="severity" value="error"/>
</module>
<!--
Checks that a local variable or a parameter does not shadow a field that is defined in the same class.
-->
<module name="HiddenField"/>
<!--
Checks for illegal instantiations where a factory method is preferred.
Rationale: Depending on the project, for some classes it might be preferable to create instances through factory methods rather than calling the constructor.
A simple example is the java.lang.Boolean class. In order to save memory and CPU cycles, it is preferable to use the predefined constants TRUE and FALSE. Constructor invocations should be replaced by calls to Boolean.valueOf().
Some extremely performance sensitive projects may require the use of factory methods for other classes as well, to enforce the usage of number caches or object pools.
-->
<module name="IllegalInstantiation">
<property name="classes" value="java.lang.Boolean"/>
</module>
<!--
不许内部赋值 Checks for assignments in subexpressions, such as in String s = Integer.toString(i = 2);.
Rationale: With the exception of for iterators, all assignments should occur in their own toplevel statement to increase readability. With inner assignments like the above it is difficult to see all places where a variable is set.
-->
<module name="InnerAssignment">
<property name="severity" value="error"/>
</module>
<!--
Checks that switch statement has "default" clause.
检查switch语句是否有‘default’从句
Rationale: It's usually a good idea to introduce a default case in every switch statement. Even if the developer is sure that all currently possible cases are covered, this should be expressed in the default branch, e.g. by using an assertion. This way the code is protected aginst later changes, e.g. introduction of new types in an enumeration type.
-->
<module name="MissingSwitchDefault">
<property name="severity" value="error"/>
</module>
<!--
检查switch中case后是否加入了跳出语句,例如:return、break、throw、continue
-->
<module name="FallThrough">
<property name="severity" value="error"/>
</module>
<!-- 循环控制变量不能被修改 -->
<module name="ModifiedControlVariable">
<property name="severity" value="error"/>
</module>
<!--
Checks for overly complicated boolean expressions. Currently finds code like if (b == true), b || true, !false, etc.
检查boolean值是否冗余的地方
Rationale: Complex boolean logic makes code hard to understand and maintain.
-->
<module name="SimplifyBooleanExpression">
<property name="severity" value="error"/>
</module>
<!-- Checks that classes are designed for extension. More specifically, it enforces a programming style where superclasses provide empty "hooks" that can be implemented by subclasses.
检查子类是否非法破坏了父类或接口的限制条件
The exact rule is that nonprivate, nonstatic methods of classes that can be subclassed must either be
* abstract or
* final or
* have an empty implementation
Rationale: This API design style protects superclasses against beeing broken by subclasses. The downside is that subclasses are limited in their flexibility, in particular they cannot prevent execution of code in the superclass, but that also means that subclasses cannot corrupt the state of the superclass by forgetting to call the super method. -->
<module name="DesignForExtension">
<property name="severity" value="error"/>
</module>
<!--
Checks that a class which has only private constructors is declared as final.
只有私有构造器的类必须声明为final
-->
<module name="FinalClass">
<property name="severity" value="error"/>
</module>
<!--
Make sure that utility classes (classes that contain only static methods or fields in their API) do not have a public constructor.
确保Utils类(只提供static方法和属性的类)没有public构造器。
Rationale: Instantiating utility classes does not make sense. Hence the constructors should either be private or (if you want to allow subclassing) protected. A common mistake is forgetting to hide the default constructor.
If you make the constructor protected you may want to consider the following constructor implementation technique to disallow instantiating subclasses:
public class StringUtils // not final to allow subclassing
{
protected StringUtils() {
throw new UnsupportedOperationException(); // prevents calls from subclass
}
public static int count(char c, String s) {
// ...
}
}
-->
<module name="HideUtilityClassConstructor">
<property name="severity" value="error"/>
</module>
<!--
Implements Bloch, Effective Java, Item 17 - Use Interfaces only to define types.
不允许interface像java.ioSerializable一样只作为标记,不包含任何methods和constants。
According to Bloch, an interface should describe a type. It is therefore inappropriate to define an interface that does not contain any methods but only constants. The Standard class javax.swing.SwingConstants is an example of a class that would be flagged by this check.
The check can be configured to also disallow marker interfaces like java.io.Serializable, that do not contain methods or constants at all.
-->
<module name="InterfaceIsType"/>
<!--
Checks visibility of class members. Only static final members may be public; other class members must be private unless property protectedAllowed or packageAllowed is set.
检查class成员属性可见性。只有static final 修饰的成员是可以public的。其他的成员属性必需是private的,除非属性protectedAllowed或者packageAllowed设置了true.
Public members are not flagged if the name matches the public member regular expression (contains "^serialVersionUID$" by default).
Note: Checkstyle 2 used to include "^f[A-Z][a-zA-Z0-9]*$" in the default pattern to allow CMP for EJB 1.1 with the default settings. With EJB 2.0 it is not longer necessary to have public access for persistent fields, hence the default has been changed.
Rationale: Enforce encapsulation.
强制封装
-->
<module name="VisibilityModifier"/>
<!--
根据 Sun 编码规范, class 或 interface 中的顺序如下: 1.class 声明。首先是 public,
然后是protected , 然后是 package level (不包括access modifier ) 最后是private .
(多个class放在一个java文件中的情况) 2.变量声明。 首先是 public, 然后是protected然后是 package
level (不包括access modifier ) 最后是private . (多个class放在一个java文件中的情况)
3.构造函数 4.方法
-->
<module name="DeclarationOrder"/>
<!-- 不许对方法的参数赋值 -->
<module name="ParameterAssignment">
<property name="severity" value="error"/>
</module>
<!-- 确保某个class 在被使用时都已经被初始化成默认值(对象是null,数字和字符是0,boolean 变量是false.) -->
<module name="ExplicitInitialization">
<property name="severity" value="error"/>
</module>
<!-- 不许有同样内容的String -->
<module name="MultipleStringLiterals">
<property name="severity" value="error"/>
</module>
<!-- 每一行只能定义一个变量 -->
<module name="MultipleVariableDeclarations">
<property name="severity" value="error"/>
</module>
<!-- 不必要的圆括号 -->
<module name="UnnecessaryParentheses"/>
<!--
Checks the style of array type definitions. Some like Java-style: public static void main(String[] args) and some like C-style: public static void main(String args[])
检查再定义数组时,采用java风格还是c风格,例如:int[] num是java风格,int num[]是c风格。默认是java风格
-->
<module name="ArrayTypeStyle"/>
<!--
Check that method/constructor/catch block parameters are final. Interface and abstract methods are not checked - the final keyword does not make sense for interface and abstract method parameters as there is no code that could modify the parameter.
检查method/constructor/catch块中的参数是否是final修饰的。
Rationale: Changing the value of parameters during the execution of the method's algorithm can be confusing and should be avoided. A great way to let the Java compiler prevent this coding style is to declare parameters final. -->
<module name="FinalParameters">
<property name="severity" value="error"/>
</module>
<!--
Checks that long constants are defined with an upper ell. That is ' L' and not 'l'. This is in accordance to the Java Language Specification, Section 3.10.1.
检查是否在long类型是否定义了大写的L.字母小写l和数字1(一)很相似。
looks a lot like 1.
-->
<module name="UpperEll">
<property name="severity" value="error"/>
</module>
<module name="MissingOverride">
<metadata name="net.sf.eclipsecs.core.comment" value="需要@override注解"/>
<property name="id" value="001"/>
<property name="severity" value="error"/>
</module>
<!-- 不许使用main方法 -->
<module name="UncommentedMain"/>
<!-- 一般性的代码问题,不好的习惯等,可以多 -->
<!-- 文件中使用了System.out.print等-->
<module name="RegexpSinglelineJava">
<property name="format" value="System\.out\.print"/>
<property name="message" value="不允许使用:System.out.print"/>
<property name="severity" value="error"/>
</module>
<module name="RegexpSinglelineJava">
<property name="format" value="System\.exit"/>
<property name="message" value="不允许使用:System.exit"/>
<property name="severity" value="error"/>
</module>
<module name="RegexpSinglelineJava">
<property name="format" value="printStackTrace"/>
<property name="message" value="不允许使用:printStackTrace"/>
<property name="severity" value="error"/>
</module>
<module name="RegexpSinglelineJava">
<property name="format" value="System\.gc"/>
<property name="message" value="不允许使用:System.gc"/>
<property name="severity" value="error"/>
</module>
<!-- 布尔表达式的复杂度,不超过3 -->
<module name="BooleanExpressionComplexity">
<property name="severity" value="error"/>
</module>
<!-- 类数据的抽象耦合,不超过7 -->
<module name="ClassDataAbstractionCoupling">
<property name="severity" value="error"/>
</module>
<!-- 类的分散复杂度,不超过20 -->
<module name="ClassFanOutComplexity">
<property name="severity" value="error"/>
</module>
<!-- 函数的分支复杂度,不超过10 -->
<module name="CyclomaticComplexity">
<property name="severity" value="error"/>
</module>
<!-- NPath复杂度,不超过200 -->
<module name="NPathComplexity">
<property name="severity" value="error"/>
</module>
<module name="ConstantName">
<metadata name="net.sf.eclipsecs.core.comment" value="常量需要大写下划线连接."/>
<property name="format" value="(^[A-Z0-9_]{0,64}$)"/>
<message key="name.invalidPattern" value="Name ''{0}'' must match pattern ''{1}''.常量需要大写下划线连接."/>
<property name="severity" value="error"/>
</module>
<!-- 局部的非final型的变量,包括catch中的参数的检查 -->
<module name="LocalVariableName">
<metadata name="net.sf.eclipsecs.core.comment" value="小写开头"/>
<property name="severity" value="info"/>
</module>
<module name="MemberName">
<metadata name="net.sf.eclipsecs.core.comment" value="成员变量须以驼峰命名,如:myField"/>
<property name="severity" value="info"/>
<property name="format" value="(^[a-z][a-z0-9][a-zA-Z0-9]{0,64}$)"/>
</module>
<module name="LineLength">
<property name="severity" value="warning"/>
<property name="max" value="120"/>
<message key="maxLineLen" value="一行不超过 {0,number,integer}个字符 (现在是 {1,number,integer}个)."/>
</module>
<module name="MethodLength">
<metadata name="net.sf.eclipsecs.core.comment" value="方法行数不能太冗长"/>
<property name="severity" value="warning"/>
<property name="max" value="80"/>
<message key="maxLen.method"
value="方法行数不能太冗长.Method length is {0,number,integer} lines (max allowed is {1,number,integer})."/>
</module>
<!-- 匿名类的最大行数,缺省为20 -->
<module name="AnonInnerLength">
<property name="max" value="60"/>
</module>
<module name="ParameterNumber">
<metadata name="net.sf.eclipsecs.core.comment" value="方法参数太多, 请重构."/>
<message key="maxParam" value="方法参数太多,请重构.最多允许{0,number,integer}个参数 (found {1,number,integer})."/>
<property name="severity" value="error"/>
</module>
<module name="Indentation">
<metadata name="net.sf.eclipsecs.core.comment" value="用4个空格代替tab"/>
<property name="severity" value="info"/>
</module>
<module name="NestedIfDepth">
<metadata name="net.sf.eclipsecs.core.comment" value="最多4层嵌套"/>
<property name="max" value="4"/>
<property name="severity" value="error"/>
</module>
<!-- 限制return代码段的数量 -->
<module name="ReturnCount">
<property name="max" value="5"/>
<property name="format" value="^$"/>
<property name="severity" value="error"/>
</module>
<!-- 确保一个类有package声明 -->
<module name="PackageDeclaration"/>
<!-- clone方法必须调用了super.clone() -->
<module name="SuperClone">
<property name="severity" value="error"/>
</module>
<!-- finalize 必须调用了super.finalize() -->
<module name="SuperFinalize">
<property name="severity" value="error"/>
</module>
<!-- 不能catch java.lang.Exception -->
<module name="IllegalCatch">
<property name="illegalClassNames" value="java.lang.Exception"/>
</module>
<!--
try-catch 嵌套语句个数 最多2层
-->
<module name="NestedTryDepth">
<property name="max" value="2"/>
<property name="severity" value="error"/>
</module>
<module name="TodoComment">
<metadata name="net.sf.eclipsecs.core.comment" value="去掉自动生成的TODO.保留自己的TODO"/>
<property name="format" value="TODO Auto"/>
</module>
<module name="MethodName">
<property name="format" value="(^[a-z][a-zA-Z0-9]{0,64}$)"/>
<property name="severity" value="info"/>
</module>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
</module>
<!-- static, non-final fields -->
<module name="StaticVariableName"/>
<module name="TypeName">
<metadata name="net.sf.eclipsecs.core.comment" value="类名接口名都是大写开头"/>
<property name="format" value="(^[A-Z][a-zA-Z0-9]{0,64}$)"/>
<property name="severity" value="warning"/>
</module>
<!-- 局部的final变量,包括catch中的参数的检查 -->
<module name="LocalFinalVariableName"/>
<module name="MethodTypeParameterName">
<metadata name="net.sf.eclipsecs.core.comment" value="泛型参数"/>
<property name="format" value="^[A-Z][a-zA-Z]*$"/>
<message key="name.invalidPattern" value="泛型参数''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<metadata name="net.sf.eclipsecs.core.comment" value="泛型参数"/>
<property name="format" value="^[A-Z][a-zA-Z]*$"/>
<message key="name.invalidPattern" value="泛型参数 '{0}'' must match pattern ''{1}''."/>
</module>
<!--
option: 定义左大括号'{'显示位置,eol在同一行显示,nl在下一行显示
maxLineLength: 大括号'{'所在行行最多容纳的字符数
tokens: 该属性适用的类型,例:CLASS_DEF,INTERFACE_DEF,METHOD_DEF,CTOR_DEF
-->
<module name="LeftCurly">
<metadata name="net.sf.eclipsecs.core.comment" value="左括号放在行末"/>
</module>
<!--
NeedBraces 检查是否应该使用括号的地方没有加括号
tokens: 定义检查的类型
-->
<module name="NeedBraces">
<metadata name="net.sf.eclipsecs.core.comment" value="即使一行也加{}"/>
<property name="severity" value="info"/>
<message key="needBraces" value="''{0}'' 必须使用 '''{}'''s."/>
</module>
<module name="EqualsAvoidNull">
<metadata name="net.sf.eclipsecs.core.comment" value="equals 避免空指针"/>
<property name="severity" value="info"/>
<message key="equals.avoid.null" value="字符串表达式,避免出现空指针"/>
</module>
<module name="MagicNumber">
<metadata name="net.sf.eclipsecs.core.comment" value="magic number 避免费解的代码"/>
<property name="tokens" value="NUM_DOUBLE, NUM_INT"/>
<property name="severity" value="info"/>
<property name="ignoreNumbers" value="-1, 0, 1, 2, 3,360,100"/>
<message key="magic.number" value="''{0}'' is a magic number.这些数字容易让人费解,建议预定义 如: final int radius = {0};"/>
</module>
<!--
Checks for overly complicated boolean return statements. For example the following code
检查是否存在过度复杂的boolean返回值
if (valid())
return false;
else
return true;
could be written as
return !valid();
The Idea for this Check has been shamelessly stolen from the equivalent PMD rule.
-->
<module name="SimplifyBooleanReturn">
<metadata name="net.sf.eclipsecs.core.comment" value="存在过度复杂的boolean返回值"/>
<message key="simplify.boolreturn" value="Conditional logic can be removed.存在过度复杂的boolean返回值."/>
</module>
<module name="OuterTypeFilename">
<metadata name="net.sf.eclipsecs.core.comment" value="最外面的类名和文件名一致"/>
</module>
<!-- ###################################代码Check END################################### -->
</module>
</module>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/will-we/easy-code.git
git@gitee.com:will-we/easy-code.git
will-we
easy-code
easy-code
master

搜索帮助