技术总监来巡查,刚巧前段时间遇到了一个问题还没解决,就拉着大牛开问。结果,问题是解决了,还附带了另一个问题,或是要求出来,没啥技术含量,但是很麻烦的一个东西:代码格式。
之前我写代码,因为屏幕比较小,所以就尽量一行写的不写两行,每一行都是一个逻辑片段,后期审阅时超级方便,但“这只是我自己的习惯而已”,可我觉着这么写,超级爽啊!但是,但是,但是,技术总监严厉要求,要按照公司自己的一套标准来写。
后来我自己也想了下,我这么写的原因是,自己开发的笔记本的屏幕比较小,代码看不全所以才这么来的,可是,别人,特别是后期的运维人员在进行操作时,他们的机器情况跟我的完全不一样啊,万一他们的是90英寸超级大屏呢?想象一下,我的代码就漂浮在屏幕的最上边,想一条虫子,难看至极。
哎,好吧,咱哥们还是按照公司的要求来吧,万一这个项目的接盘侠是个武力至上的人,那就等着被提刀满街追了。
废话说了好多,就是心里不爽吐吐槽,现在,把一套checkstyle标准贴出来,以备后来装逼用。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" 3 "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> 4 5 <module name="Checker"> 6 <property name="severity" value="warning"/> 7 <module name="TreeWalker"> 8 <module name="JavadocMethod"> 9 <property name="severity" value="ignore"/> 10 <property name="suppressLoadErrors" value="true"/> 11 <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 12 </module> 13 <module name="JavadocType"> 14 <property name="severity" value="ignore"/> 15 <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 16 </module> 17 <module name="JavadocVariable"> 18 <property name="severity" value="ignore"/> 19 <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 20 </module> 21 <module name="ConstantName"> 22 <property name="applyToPrivate" value="false"/> 23 </module> 24 <module name="LocalFinalVariableName"/> 25 <module name="LocalVariableName"/> 26 <module name="MemberName"/> 27 <module name="MethodName"/> 28 <module name="PackageName"/> 29 <module name="ParameterName"/> 30 <module name="StaticVariableName"/> 31 <module name="TypeName"/> 32 <module name="AvoidStarImport"/> 33 <module name="IllegalImport"/> 34 <module name="RedundantImport"/> 35 <module name="UnusedImports"/> 36 <module name="MethodLength"/> 37 <module name="ParameterNumber"/> 38 <module name="LineLength"> 39 <property name="max" value="160"/> 40 <property name="tabWidth" value="4"/> 41 </module> 42 <module name="EmptyForIteratorPad"/> 43 <module name="MethodParamPad"/> 44 <module name="NoWhitespaceAfter"/> 45 <module name="NoWhitespaceBefore"/> 46 <module name="OperatorWrap"/> 47 <module name="ParenPad"/> 48 <module name="TypecastParenPad"/> 49 <module name="WhitespaceAfter"/> 50 <module name="WhitespaceAround"> 51 <property name="tokens" 52 value="BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,EQUAL,GE,GT,LAND,LCURLY,LE,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,LITERAL_ASSERT,TYPE_EXTENSION_AND,WILDCARD_TYPE"/> 53 </module> 54 <module name="ModifierOrder"/> 55 <module name="RedundantModifier"/> 56 <module name="AvoidNestedBlocks"/> 57 <module name="EmptyBlock"/> 58 <module name="LeftCurly"/> 59 <module name="NeedBraces"/> 60 <module name="RightCurly"/> 61 <module name="AvoidInlineConditionals"/> 62 <module name="EmptyStatement"/> 63 <module name="EqualsHashCode"/> 64 <module name="HiddenField"> 65 <property name="ignoreConstructorParameter" value="true"/> 66 <property name="ignoreSetter" value="true"/> 67 </module> 68 <module name="IllegalInstantiation"> 69 <property name="classes" value="java.lang.Boolean"/> 70 </module> 71 <module name="InnerAssignment"/> 72 <module name="MissingSwitchDefault"/> 73 <module name="RedundantThrows"> 74 <property name="severity" value="ignore"/> 75 <property name="suppressLoadErrors" value="true"/> 76 <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 77 </module> 78 <module name="SimplifyBooleanExpression"/> 79 <module name="SimplifyBooleanReturn"/> 80 <module name="FinalClass"/> 81 <module name="HideUtilityClassConstructor"/> 82 <module name="InterfaceIsType"/> 83 <module name="VisibilityModifier"/> 84 <module name="ArrayTypeStyle"/> 85 <module name="TodoComment"/> 86 <module name="UpperEll"/> 87 <module name="OperatorWrap"/> 88 </module> 89 <module name="JavadocPackage"> 90 <property name="severity" value="ignore"/> 91 <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 92 </module> 93 <module name="NewlineAtEndOfFile"/> 94 <module name="Translation"/> 95 <module name="FileLength"/> 96 <module name="FileTabCharacter"> 97 <property name="severity" value="ignore"/> 98 <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> 99 </module> 100 <module name="RegexpSingleline"> 101 <property name="format" value="\s+$"/> 102 <property name="message" value="Line has trailing spaces."/> 103 </module> 104 </module>