ali-comment.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?xml version="1.0"?>
  2. <ruleset name="AlibabaJavaComments" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
  5. <rule name="CommentsMustBeJavadocFormatRule" message="java.comment.CommentsMustBeJavadocFormatRule.rule.msg"
  6. class="com.alibaba.p3c.pmd.lang.java.rule.comment.CommentsMustBeJavadocFormatRule">
  7. <description>java.comment.CommentsMustBeJavadocFormatRule.rule.desc</description>
  8. <priority>3</priority>
  9. <example>
  10. <![CDATA[
  11. /**
  12. *
  13. * XXX class function description.
  14. *
  15. */
  16. public class XxClass implements Serializable {
  17. private static final long serialVersionUID = 113323427779853001L;
  18. /**
  19. * id
  20. */
  21. private Long id;
  22. /**
  23. * title
  24. */
  25. private String title;
  26. /**
  27. * find by id
  28. *
  29. * @param ruleId rule id
  30. * @param page start from 1
  31. * @return Result<Xxxx>
  32. */
  33. public Result<Xxxx> funcA(Long ruleId, Integer page) {
  34. return null;
  35. }
  36. }
  37. ]]>
  38. </example>
  39. </rule>
  40. <rule name="AbstractMethodOrInterfaceMethodMustUseJavadocRule"
  41. message="java.comment.AbstractMethodOrInterfaceMethodMustUseJavadocRule.rule.msg"
  42. class="com.alibaba.p3c.pmd.lang.java.rule.comment.AbstractMethodOrInterfaceMethodMustUseJavadocRule">
  43. <description>java.comment.AbstractMethodOrInterfaceMethodMustUseJavadocRule.rule.desc</description>
  44. <priority>3</priority>
  45. <example>
  46. <![CDATA[
  47. /**
  48. * fetch data by rule id
  49. *
  50. * @param ruleId rule id
  51. * @param page page number
  52. * @param jsonContext json format context
  53. * @return Result<XxxxDO>
  54. */
  55. Result<XxxxDO> fetchDataByRuleId(Long ruleId, Integer page, String jsonContext);
  56. ]]>
  57. </example>
  58. </rule>
  59. <rule name="ClassMustHaveAuthorRule" message="java.comment.ClassMustHaveAuthorRule.rule.msg"
  60. class="com.alibaba.p3c.pmd.lang.java.rule.comment.ClassMustHaveAuthorRule">
  61. <description>java.comment.ClassMustHaveAuthorRule.rule.desc</description>
  62. <priority>3</priority>
  63. <example>
  64. <![CDATA[
  65. /**
  66. * Demo class
  67. *
  68. * @author keriezhang
  69. * @date 2016/10/31
  70. */
  71. public class CodeNoteDemo {
  72. }
  73. ]]>
  74. </example>
  75. </rule>
  76. <rule name="EnumConstantsMustHaveCommentRule" message="java.comment.EnumConstantsMustHaveCommentRule.rule.msg"
  77. class="com.alibaba.p3c.pmd.lang.java.rule.comment.EnumConstantsMustHaveCommentRule">
  78. <priority>2</priority>
  79. <example>
  80. <![CDATA[
  81. public enum TestEnum {
  82. /**
  83. * agree
  84. */
  85. agree("agree"),
  86. /**
  87. * reject
  88. */
  89. reject("reject");
  90. private String action;
  91. TestEnum(String action) {
  92. this.action = action;
  93. }
  94. public String getAction() {
  95. return action;
  96. }
  97. }
  98. ]]>
  99. </example>
  100. </rule>
  101. <rule name="AvoidCommentBehindStatementRule"
  102. message="java.comment.AvoidCommentBehindStatementRule.rule.msg"
  103. class="com.alibaba.p3c.pmd.lang.java.rule.comment.AvoidCommentBehindStatementRule">
  104. <priority>3</priority>
  105. <example>
  106. <![CDATA[
  107. public void method() {
  108. // Put single line comment above code. (Note: align '//' comment with code)
  109. int a = 3;
  110. /**
  111. * Some description about follow code. (Note: align '/**' comment with code)
  112. */
  113. int b = 4;
  114. }
  115. ]]>
  116. </example>
  117. </rule>
  118. <rule name="RemoveCommentedCodeRule"
  119. message="java.comment.RemoveCommentedCodeRule.rule.msg"
  120. class="com.alibaba.p3c.pmd.lang.java.rule.comment.RemoveCommentedCodeRule">
  121. <description>java.comment.RemoveCommentedCodeRule.rule.desc</description>
  122. <priority>3</priority>
  123. <example>
  124. <![CDATA[
  125. Positive example: For codes which are temporarily removed and likely to be reused, use /// to add a reasonable note.
  126. public static void hello() {
  127. /// Business is stopped temporarily by the owner.
  128. // Business business = new Business();
  129. // business.active();
  130. System.out.println("it's finished");
  131. }
  132. ]]>
  133. </example>
  134. </rule>
  135. </ruleset>