ESLint: +29 条 P1/P2 规则 + 12 条 TS 专属规则(含 no-shadow/no-array-constructor 冲突处理) Stylelint: 集成 stylelint-config-recommended + 27 条额外规则 PMD: 排除 20 弃用 + 17 噪音规则,补启 Security/Multithreading,274+12 条精选 SQL-lint: 内置精选 57 条规则配置 + 按 tier 分级 severity + 无项目配置时自动注入临时配置 模板导出: export-service.ts 导出 2-sheet xlsx(复用 xlsx 零新依赖) 模板导入: template-converter.ts 固定列映射解析 + dedup-prompt.ts AI 语义去重 导入预览增强: 错误规则分组置顶只读、跳过行提示、空数据提示 i18n: 新增 18 条模板导入/导出相关翻译 WebView: 静态分析/自定义规则项默认可展开显示 suggestion
64 lines
2.5 KiB
XML
64 lines
2.5 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset name="Java Rules"
|
|
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
|
|
<description>Java Code Review Rules (274 active rules, 7 categories)</description>
|
|
|
|
<rule ref="category/java/bestpractices.xml">
|
|
<exclude name="DefaultLabelNotLastInSwitchStmt"/>
|
|
<exclude name="JUnit4TestShouldUseAfterAnnotation"/>
|
|
<exclude name="JUnit4TestShouldUseBeforeAnnotation"/>
|
|
<exclude name="JUnit4TestShouldUseTestAnnotation"/>
|
|
<exclude name="JUnit5TestShouldBePackagePrivate"/>
|
|
<exclude name="JUnitAssertionsShouldIncludeMessage"/>
|
|
<exclude name="JUnitTestContainsTooManyAsserts"/>
|
|
<exclude name="JUnitTestsShouldIncludeAssert"/>
|
|
<exclude name="SwitchStmtsShouldHaveDefault"/>
|
|
</rule>
|
|
|
|
<rule ref="category/java/codestyle.xml">
|
|
<exclude name="GenericsNaming"/>
|
|
<exclude name="UnnecessaryLocalBeforeReturn"/>
|
|
<exclude name="LongVariable"/>
|
|
<exclude name="ShortVariable"/>
|
|
<exclude name="ShortMethodName"/>
|
|
<exclude name="ShortClassName"/>
|
|
</rule>
|
|
|
|
<rule ref="category/java/design.xml">
|
|
<exclude name="AvoidCatchingGenericException"/>
|
|
<exclude name="UseObjectForClearerAPI"/>
|
|
<exclude name="TooManyMethods"/>
|
|
<exclude name="CyclomaticComplexity"/>
|
|
<exclude name="NPathComplexity"/>
|
|
<exclude name="CognitiveComplexity"/>
|
|
<exclude name="NcssCount"/>
|
|
<exclude name="TooManyFields"/>
|
|
<exclude name="ExcessiveParameterList"/>
|
|
<exclude name="ExcessivePublicCount"/>
|
|
<exclude name="ExcessiveImports"/>
|
|
<exclude name="CouplingBetweenObjects"/>
|
|
</rule>
|
|
|
|
<rule ref="category/java/errorprone.xml">
|
|
<exclude name="AvoidCatchingNPE"/>
|
|
<exclude name="AvoidCatchingThrowable"/>
|
|
<exclude name="AvoidLosingExceptionInformation"/>
|
|
<exclude name="DontImportSun"/>
|
|
<exclude name="NonCaseLabelInSwitchStatement"/>
|
|
<exclude name="UselessOperationOnImmutable"/>
|
|
</rule>
|
|
|
|
<rule ref="category/java/multithreading.xml">
|
|
<exclude name="AvoidUsingVolatile"/>
|
|
<exclude name="DoNotUseThreads"/>
|
|
<exclude name="AvoidSynchronizedStatement"/>
|
|
</rule>
|
|
|
|
<rule ref="category/java/performance.xml">
|
|
<exclude name="TooFewBranchesForASwitchStatement"/>
|
|
</rule>
|
|
|
|
<rule ref="category/java/security.xml"/>
|
|
</ruleset> |