Hi , all devs After this PR: https://github.com/apache/incubator-doris/pull/10134 <https://github.com/apache/incubator-doris/pull/10134>, all checkstyle error has been fixed. So, i want to turn Github workflow 'FE Code Style Checker' to 'Required' after this PR be merged.
After #10134 be merged, when compiling fe with `maven`, `CheckStyle` checks are done by default. This will slightly slow down compilation. If you want to skip checkstyle, please use the following command to compile mvn clean install -DskipTests -Dcheckstyle.skip Also, you can check your code style seperately by run following command under fe directory: mvn checkstyle:check > 2022年5月6日 16:16,ling miao <lingm...@apache.org> 写道: > > Regarding the code format correction of the old code, do we currently need > to do it manually? > > Ling Miao > > morrysnow <morrys...@126.com> 于2022年5月6日周五 15:03写道: > >> Hi devs, >> >> I create issues for every steps. Any one willing to submit pr could assign >> issue to himself/herself. >> >> Step1: https://github.com/apache/incubator-doris/issues/9403 < >> https://github.com/apache/incubator-doris/issues/9403> >> Step2: https://github.com/apache/incubator-doris/issues/9404 >> Step3: https://github.com/apache/incubator-doris/issues/9405 >> Step4: https://github.com/apache/incubator-doris/issues/9406 >> >>> 2022年4月29日 13:43,morrysnow <morrys...@126.com> 写道: >>> >>> Hi, devs >>> >>> I want to add Step 0 before all steps. >>> >>> Step 0: >>> >>> Add checkstyle action to github action to check pr style. This action >> checks incremental code and adds comment to pr automatically. >>> Action: https://github.com/dbelyaev/action-checkstyle < >> https://github.com/dbelyaev/action-checkstyle> >>> Demo: https://github.com/morrySnow/test_checkstyle/pull/5 < >> https://github.com/morrySnow/test_checkstyle/pull/5> >>> >>>> 2022年4月29日 13:40,morrysnow <morrys...@126.com> 写道: >>>> >>>> Hi, mingyu >>>> >>>> 1. Check license is needed for local check. >>>> 2. Add a rule to forbidden static import is ok for me >>>> >>>>> 2022年4月28日 21:34,陈明雨 <morning...@163.com> 写道: >>>>> >>>>> That would be great! >>>>> Some suggestion about the rules: >>>>> >>>>> >>>>>> d. license header check >>>>> For now, we use skywalking-eyes to check license header, is this rule >> still needed? >>>>> >>>>> >>>>>> adjust the order of import to "static, org.apache.doris, third party, >> java" >>>>> Better not using static import >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> 此致!Best Regards >>>>> 陈明雨 Mingyu Chen >>>>> >>>>> Email: >>>>> chenmin...@apache.org >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 在 2022-04-28 17:14:34,"morrysnow" <morrys...@126.com> 写道: >>>>>> Hi, devs, >>>>>> >>>>>> I split adding java check style into 5 steps. I’m willing to get >> feedback about it. >>>>>> >>>>>> CheckStyle and Spotless will modify about 10k lines. >>>>>> >>>>>> Step 1: >>>>>> >>>>>> 1. Add Spotless plugin and do some simple format(1198 files changed, >> 3205 insertions(+), 4350 deletions(-)) >>>>>> a. end with new line >>>>>> b. trim trailing whitespace >>>>>> c. replace tab indent with 4 spaces indent >>>>>> d. license header check >>>>>> e. adjust the order of import to "static, org.apache.doris, third >> party, java" >>>>>> f. remove unused imports >>>>>> g. make sure all files are encoding by utf-8 >>>>>> h. make sure all files line ending by LF >>>>>> >>>>>> 2. Add checkstyle rules but set default severity to warning to avoid >> compile failed. >>>>>> >>>>>> 3. set some rules' severity to error in Checkstyle since no lines in >> doris break these rules(0 files, 0 lines) >>>>>> a. Merge conflicts unresolved >>>>>> b. Avoid using corresponding octal or Unicode escape >>>>>> c. Avoid Escaped Unicode Characters >>>>>> d. No Line Wrap >>>>>> e. Package Name >>>>>> f. Type Name >>>>>> g. Annotation Location >>>>>> h. Interface Type Parameter >>>>>> i. CatchParameterName >>>>>> j. Pattern Variable Name >>>>>> k. Record Component Name >>>>>> l. Record Type Parameter Name >>>>>> m. Method Type Parameter Name >>>>>> >>>>>> 4. Set below rules severity to error in Checkstyle since these had >> done by splotless(12 files, 177 lines) >>>>>> a. Redundant Import >>>>>> b. Custom Import Order >>>>>> c. Unused Imports >>>>>> d. Avoid Star Import >>>>>> e. tab character in file >>>>>> f. Newline At End Of File >>>>>> g. Trailing whitespace found >>>>>> >>>>>> >>>>>> >>>>>> Step 2: (241 files, 962 lines (with Step 1)) >>>>>> >>>>>> 1. Set below rules' severity to error in Checkstyle, all rules are >> import to make sure the code is correct >>>>>> a. Need Braces >>>>>> b. Equals Hash Code >>>>>> c. Missing Switch Default >>>>>> d. Fall Through >>>>>> e. No Finalizer >>>>>> >>>>>> >>>>>> 2. Set below rules' severity to error in Checkstyle, all rules are >> about name >>>>>> a. Member Name >>>>>> b. Constant Name >>>>>> c. Parameter Name >>>>>> d. LambdaParameterName >>>>>> e. Local Variable Name >>>>>> f. Class Type Parameter Name >>>>>> g. Static Variable Name >>>>>> h. Method Name >>>>>> j. Abbreviation As Word In Name >>>>>> >>>>>> >>>>>> Step 3: (605 files, 6008 lines (with Step 1 and Step 2)) >>>>>> >>>>>> 1. Set below rules' severity to error in Checkstyle, all rules are >> about whitespace >>>>>> a. Empty Block >>>>>> b. Left Curly >>>>>> c. Right Curly >>>>>> d. White space Around >>>>>> e. Generic Whitespace >>>>>> f. Indentation >>>>>> g. No Whitespace Before Case Default Colon >>>>>> h. Method Param Pad >>>>>> i. Whitespace >>>>>> j. Paren Pad >>>>>> k. Extra newline >>>>>> l. Extra newline at end of block >>>>>> m. Empty Statement >>>>>> n. Empty Catch Block >>>>>> o. Comments Indentation >>>>>> >>>>>> 2. Set below rules' severity to error in Checkstyle, all rules are >> about the position of the newline >>>>>> a. Line Length 120 >>>>>> b. Operator Wrap >>>>>> c. One Statement Per Line >>>>>> d. Multiple Variable Declarations >>>>>> >>>>>> >>>>>> Step 4: (674 files, 6730 lines (with Step 1, Step 2 and Step 3)) >>>>>> >>>>>> 1. Set below rules' severity to error in Checkstyle >>>>>> a. Array Type Style >>>>>> b. Upper Ell >>>>>> c. Modifier Order >>>>>> d. Empty Line Separator >>>>>> e. Separator Wrap >>>>>> f. Overload Methods Declaration Order >>>>>> g. Variable Declaration Usage Distance >>>>>> i. One Top Level Class >>>>>> >>>>>> >>>>>> Step 5: >>>>>> >>>>>> 1. Add java doc check to CheckStyle and set severity to warning. >>>>>> >>>>>> 2. Fix java doc warning gradually >>>>>> >>>>>> >>>>>>> 2022年4月28日 00:39,morrysnow <morrys...@126.com> 写道: >>>>>>> >>>>>>> Hi, devs >>>>>>> >>>>>>> I summarized all the rules I wanted to add. I examined the number of >> lines of code affected by all the rules and categorized them by importance. >>>>>>> >>>>>>> The link is here: >> https://github.com/apache/incubator-doris/issues/8985#issuecomment-1111214162 >> < >> https://github.com/apache/incubator-doris/issues/8985#issuecomment-1111214162 >>> >>>>>>> >>>>>>> I would like to be able to submit them in multiple patches. The >> principle of patch splitting is as follows. Those with low impact and high >> importance are submitted first and sets the severity to Error. The Javadoc >> commits last and sets the severity to Warning. >>>>>>> >>>>>>> >>>>>>>> 2022年4月18日 16:09,vin jake <jakevin...@gmail.com> 写道: >>>>>>>> >>>>>>>> Hi, there is a new PR about format doris. >>>>>>>> https://github.com/apache/incubator-doris/pull/9072 >>>>>>>> >>>>>>>> I think it's time to ensure what checkstyle rules we should add >> for fe. >>>>>>>> >>>>>>>> All people who care about format rule can put up your thoughts. >>>>>>>> >>>>>>>> We can add it in the issue: >>>>>>>> https://github.com/apache/incubator-doris/issues/8985 >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Apr 14, 2022 at 6:52 PM vin jake <jakevin...@gmail.com> >> wrote: >>>>>>>> >>>>>>>>> great, I will trim it in my PR. >>>>>>>>> >>>>>>>>> checkstyle.xml need more discussion >>>>>>>>> >>>>>>>>> On Thu, Apr 14, 2022 at 5:48 PM morrysnow <morrys...@126.com> >> wrote: >>>>>>>>> >>>>>>>>>> I agree with u. >>>>>>>>>> >>>>>>>>>> For the first point, I want to list rules first, and then change >>>>>>>>>> checkstyle.xml. >>>>>>>>>> >>>>>>>>>> For the second point, original change information in git is not >> lost, we >>>>>>>>>> just need to do blame on the version prior to the ‘code style’ >> commit and >>>>>>>>>> some gui tools could list history of one file. Anyway, it is not >> very >>>>>>>>>> convenience. >>>>>>>>>> >>>>>>>>>>> 2022年4月14日 17:35,Shuo Wang <wangshuo...@gmail.com> 写道: >>>>>>>>>>> >>>>>>>>>>> In general, I believe that we should do some work to make the >> code clean >>>>>>>>>>> and readable. >>>>>>>>>>> >>>>>>>>>>> My concern is: >>>>>>>>>>> 1. We should have an agreement on the code style specification >> in the >>>>>>>>>>> community at first. >>>>>>>>>>> 2. If the many lines of code change after applying the code >> style rule, >>>>>>>>>> we >>>>>>>>>>> would lose the original changelog via `git blame`. >>>>>>>>>>> >>>>>>>>>>> vin jake <jakevin...@gmail.com> 于2022年4月14日周四 17:12写道: >>>>>>>>>>> >>>>>>>>>>>> I have add it in PR >>>>>>>>>> https://github.com/apache/incubator-doris/pull/8987 >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Apr 14, 2022 at 4:37 PM morrysnow <morrys...@126.com> >> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, devs, >>>>>>>>>>>>> >>>>>>>>>>>>> Currently, we only have two rules in checkstyle.xml in fe. >> These are >>>>>>>>>> all >>>>>>>>>>>>> about import. So, the code style in fe is very casual. >>>>>>>>>>>>> I want to add more rules to checkstyle.xml in fe to Improve >> code >>>>>>>>>>>>> readability, and adjust all fe code to satisfy new code style >> step by >>>>>>>>>>>> step. >>>>>>>>>>>>> What do you think about it? If this is a good idea. I will >> research >>>>>>>>>> which >>>>>>>>>>>>> rules apply to our code and put together a list. >>>>>>>>>>>>> >>>>>>>>>>>>> >> --------------------------------------------------------------------- >>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org >>>>>>>>>>>>> For additional commands, e-mail: dev-h...@doris.apache.org >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >> --------------------------------------------------------------------- >>>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org >>>>>>>>>> For additional commands, e-mail: dev-h...@doris.apache.org >>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org >>>>>> For additional commands, e-mail: dev-h...@doris.apache.org >>> >> >> > > -- > Ling Miao | Apache Doris