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