With the clarification that we're looking at the intersection of public + "big", I think this is a great idea. We should make it clear that this is a lower bar--many private or shorter methods merit documentation as well (but that's harder to automatically detect). The one difficulty with a threshold is that it's painful for the person who does some refactoring or other minor work and turns the (say) 29-line method into a 30-line one. This is a case where as suppression annotation (appropriately used) could be useful.
On Tue, Jan 8, 2019 at 1:49 AM Daniel Oliveira <danolive...@google.com> wrote: > > +1 > > I like this idea, especially with the line number requirement. The exact > number of lines is debatable, but you could go as low as 10 lines and that > would exclude any trivial setters and getters. Even better might be if it's > possible to configure checkstyle to ignore this for getters and setters (I > don't know if checkstyle supports this, but I know that other tools are able > to auto-detect getters and setters). > > I'm not dead-set against having annotation to suppress the comment, but it > carries the risk that code will be left un-commented because both the dev and > reviewer think it's self-explanatory, and then someone new to the codebase > finds it confusing. > > On Mon, Jan 7, 2019 at 11:31 AM Ankur Goenka <goe...@google.com> wrote: >> >> I think it makes sense. >> Having an annotation to suppress this check for a method/class instead of >> adding trivial comment would be useful. >> >> On Mon, Jan 7, 2019 at 9:53 AM Ruoyun Huang <ruo...@google.com> wrote: >>> >>> Yeah. Agree there is no reason to enforce anything for trivial methods like >>> setter/getter. >>> >>> What I meant is to enforce only for a method that is BOTH 1) public method >>> 2) has longer than N lines. >>> >>> sorry for not making the proposal clear enough in the original message, it >>> should've better titled "enforce ... on non-trivial public methods". >>> >>> >>> >>> On Mon, Jan 7, 2019 at 1:31 AM Robert Bradshaw <rober...@google.com> wrote: >>>> >>>> IMHO, requiring comments on trivial methods like setters and getters >>>> is often a net negative, but setting some standard could be useful. >>>> >>>> On Mon, Jan 7, 2019 at 7:35 AM Jean-Baptiste Onofré <j...@nanthrax.net> >>>> wrote: >>>> > >>>> > Hi, >>>> > >>>> > for the presence of a comment on public method, it's a good idea. Now, >>>> > about the number of lines, not sure it's a good idea. I'm thinking about >>>> > the getter/setter which are public. Most of the time, the comment is >>>> > pretty simple (and useless ;)). >>>> > >>>> > Regards >>>> > JB >>>> > >>>> > On 07/01/2019 04:35, Ruoyun Huang wrote: >>>> > > Hi, everyone, >>>> > > >>>> > > >>>> > > We were wondering whether it is a good idea to make checkstyle >>>> > > enforce public method comments. Our current behavior of JavaDoc check >>>> > > is: >>>> > > >>>> > > 1. >>>> > > >>>> > > Missing Class javadoc comment is reported as error. >>>> > > >>>> > > 2. >>>> > > >>>> > > Method comment missing is explicitly allowed. see [1]. It is not >>>> > > even shown as warning. >>>> > > >>>> > > 3. >>>> > > >>>> > > The actual javadoc target gives warning when certain tags are >>>> > > missing in javadoc, but not if the whole comment is missing. >>>> > > >>>> > > >>>> > > How about we enforce method comments for **1) public method and 2) >>>> > > method that is longer than N lines**. (N=~30 seems a good number, >>>> > > leading to ~50 violations in current repository). I can find out the >>>> > > corresponding contributors to fill in the missing comments, before we >>>> > > turning the check fully on. >>>> > > >>>> > > >>>> > > One caveat though is that we might want skip this check on test >>>> > > code, >>>> > > but I am not sure yet if our current setup can easily handle separated >>>> > > rules for main code versus test code. >>>> > > >>>> > > >>>> > > Is this a good idea? Thoughts and suggestions? >>>> > > >>>> > > >>>> > > [1] >>>> > > https://github.com/apache/beam/blame/5ceffb246c0c38ad68dd208e951a1f39c90ef85c/sdks/java/build-tools/src/main/resources/beam/checkstyle.xml#L111 >>>> > > >>>> > > >>>> > > Cheers, >>>> > > >>>> > >>>> > -- >>>> > Jean-Baptiste Onofré >>>> > jbono...@apache.org >>>> > http://blog.nanthrax.net >>>> > Talend - http://www.talend.com >>> >>> >>> >>> -- >>> ================ >>> Ruoyun Huang >>>