Skip to content

Checkstyle Coding Rule part3

Meeting Info

Date 2022-12-01
Topic Checkstyle Coding Rule
Attendee Calvin Yan, Selly Huang, Rocky Chi, Daniel Zhou, Ted Zhao, Jackson Liu
Note Taker Rocky Chi
Timer Rocky Chi
Duration 60 minutes

Meeting output

Tech Sharing Host Shift

Topic Host: Agent take turns to host the thread Topic collect: Rocky take the responsibility Topic priority: Discuss in HEA teams space

A knowledge sharing thread should contain: 1. Communicate with service leader to decide topic owner (if capable). 2. Communicate with owner about sharing time slot. 3. Briefly go through sharing content and may give some advices. 4. Book meeting & send invitation. 5. Host meeting.

TODO: Rocky research where to put the sharing record, Wiki or GitHub.

Weekly Meeting Minutes Optimize

  1. If there are some rule output, owner should prepare rule template file, and the template will be reviewed in weekly meeting. After the meeting, those rules become official and will be recorded in meeting minutes directly.
  2. For other meeting output:
    1. Action Item: move to Jira task directly
    2. Conclusion: record to HEA wiki

Checkstyle Rule - Coding part 3

<module name="FinalLocalVariable">
    <property name="severity" value="ignore"/>
</module>
<module name="HiddenField">
    <property name="severity" value="error"/>
    <property name="ignoreConstructorParameter" value="true"/>
    <property name="ignoreSetter" value="true"/>
    <property name="setterCanReturnItsClass" value="true"/>
</module>
<!-- P1 -->
<module name="IllegalCatch">
    <property name="severity" value="warning"/>
    <property name="illegalClassNames" value="Error, Exception, Throwable, java.lang.Error, java.lang.Exception, java.lang.RuntimeException, java.lang.Throwable"/>
</module>
<module name="IllegalInstantiation">
    <property name="severity" value="ignore"/>
</module>
<!-- P1 -->
<module name="IllegalThrows">
    <property name="severity" value="warning"/>
    <property name="ignoreOverriddenMethods" value="true"/>
</module>
<module name="IllegalToken">
    <property name="severity" value="ignore"/>
</module>
<module name="IllegalTokenText">
    <property name="severity" value="ignore"/>
</module>
<module name="IllegalType">
    <property name="severity" value="ignore"/>
</module>
<module name="InnerAssignment">
    <property name="severity" value="warning"/>
</module>
<!-- P1 -->
<module name="MagicNumber">
    <property name="severity" value="warning"/>
    <property name="ignoreHashCodeMethod" value="true"/>
    <property name="ignoreAnnotationElementDefaults" value="true"/>
    <property name="ignoreFieldDeclaration" value="true"/>
    <property name="constantWaiverParentToken" value="ASSIGN,ARRAY_INIT,EXPR,UNARY_PLUS, 
    UNARY_MINUS, TYPECAST, ELIST, DIV, PLUS "/>
</module>
<module name="MatchXpath">
    <property name="severity" value="ignore"/>
</module>
<module name="MissingCtor">
    <property name="severity" value="ignore"/>
</module>
<module name="MissingSwitchDefault">
    <property name="severity" value="ignore"/>
</module>
<module name="ModifiedControlVariable">
    <property name="severity" value="ignore"/>
</module>
<module name="MultipleStringLiterals">
    <property name="severity" value="reference"/>
    <property name="allowedDuplicates" value="2"/>
</module>
<module name="MultipleVariableDeclarations">
    <property name="severity" value="ignore"/>
</module>
<module name="NestedForDepth">
    <property name="severity" value="warning"/>
    <property name="max" value="1"/>
</module>
<module name="NestedIfDepth">
    <property name="severity" value="warning"/>
    <property name="max" value="2"/>
</module>
<module name="NestedTryDepth">
    <property name="severity" value="warning"/>
    <property name="max" value="1"/>
</module>
<module name="NoArrayTrailingComma">
    <property name="severity" value="ignore"/>
</module>
<module name="NoClone">
    <property name="severity" value="ignore"/>
</module>
<module name="NoEnumTrailingComma">
    <property name="severity" value="ignore"/>
</module>
<module name="NoFinalizer">
    <property name="severity" value="reference"/>
</module>

Next meeting topic

  1. Review Jenkins report
  2. Checkstyle Rule