- AI 修复预生成:静态/custom/AI 条目审查时预生成修复片段(originalText/newText),展开问题即显示行级 diff,无预生成时展示占位提示,匹配失败回退实时 LLM 生成 - 修复前 diff 预览:侧边新建编辑器组打开内置 diff,确认后写入(两步确认),不覆盖当前文件 - fix: sqlfluff 在 jinja 标签位于注释内时 JJ01 JSON 缺失 end_line_no/end_line_pos,适配器 Range 构造产生 NaN 被 VSCode 交换 start/end 导致行号 LNaN;新增 resolveSqlFluffRange 兜底 + 面板/report 行号 Number.isFinite 防御 - fix: 从 PMD 内置 ruleset 移除 5 条实际不可触发规则(AvoidAssertAsIdentifier、AvoidEnumAsIdentifier、AccessorClassGeneration、AccessorMethodGeneration、LoosePackageCoupling),内置配置 274→269 条全部可触发,同步 static-rules.json 与翻译脚本 - docs: README/DESIGN 更新
69 lines
2.8 KiB
XML
69 lines
2.8 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 (269 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"/>
|
|
<exclude name="AccessorClassGeneration"/>
|
|
<exclude name="AccessorMethodGeneration"/>
|
|
</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"/>
|
|
<exclude name="LoosePackageCoupling"/>
|
|
</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"/>
|
|
<exclude name="AvoidAssertAsIdentifier"/>
|
|
<exclude name="AvoidEnumAsIdentifier"/>
|
|
</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> |