[LLVMdev] Doxygen: enable autobrief?

Sean Silva chisophugis at gmail.com
Tue May 26 19:15:15 PDT 2015


On Tue, May 26, 2015 at 6:14 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

>
> > On 2015-May-26, at 16:56, Matthias Braun <matze at braunis.de> wrote:
> >
> >
> >
> > - Matthias
> >
> >> On May 26, 2015, at 3:48 PM, Chandler Carruth <chandlerc at google.com>
> wrote:
> >>
> >> So, I'd love to not have to write '\brief' but that's not what this
> gives us sadly.
> >>
> >> The behavior of autobrief is that the brief snippet stops at the first
> '.' in the text. It doesn't matter if that '.' is part of code or anything
> else.
> > Yes, I also find the autobrief setting annoying that it stops at the
> first dot and not takes the first paragraph. In any way I documented this
> behaviour in the llvm coding standards.
>
> Huh.  I knew this was what autobrief does.  I thought `\brief`
> had the same behaviour though.  (IMO, you should be able to
> write a one-sentence high-level description for every function;
> if people want details they can look/click through.)
>
> >>
> >> The behavior of the '\brief' command is that the paragraph it marks is
> the brief comment, and the detailed one starts with the next paragraph.
> >>
> >> I want the second behavior, and *not* the first. Turning on the
> autobrief setting and encouraging its use will just cause us to have bad
> brief comments in the doxygen and easy to read source code. =/ I'd actually
> rather we write the (annoying and ugly) '\brief' command in the comments
> until the tools for extracting this are fixed to do something more sensible.
> >
> > But there is also a problem with the current setting: Several people
> don't care or forget to add \brief commands. In fact I'm pretty sure
> enabling autobrief fixes more places where \brief was accidentally
> forgotten than we would risk to have bad brief sections because of
> unintuitive autobrief behaviour. In any both problems can be easily fixed
> once noticed.
> >
> > My main motivation to do this change: While I do care a lot about well
> documented interfaces; I do not care so much about the generated doxygen
> html pages. I'd dare to say the majority of llvm developers only looks at
> the headers and not the generated pages. So aiming for less \brief noise in
> the headers is a good thing.
> >
>
> Personally, I never look at the html, just the headers.  But I
> know other people that use them.  I think it depends on how
> comfortable people are with their editors, really, and it's
> important to support both workflows.
>

Personally I sometimes use the html because I can just google "clang
functiondecl" or "llvm sys::fs" and see it in one click, whereas it's
generally clumsier to find it from an editor (I don't know of any editor
that can easily hone in on just the instance of "FunctionDecl" that is not
a forward declaration, not a use in a cpp file, etc. unless you already
have FunctionDecl handy and can (in an IDE) "Go to definition").

-- Sean Silva


>
> But the auto-brief behaviour seems right most of the time, and
> you can add "\brief" when you really need a multi-sentence
> not-so-brief comment.  I prefer the new style.
>
>
> >>
> >> On Fri, May 22, 2015 at 12:48 PM Matthias Braun <matze at braunis.de>
> wrote:
> >> Hey,
> >>
> >> I probably should have mentioned it in this thread: I enabled autobrief
> in r237417.
> >>
> >> - Matthias
> >>
> >>> On May 22, 2015, at 10:36 AM, Rafael EspĂ­ndola <
> rafael.espindola at gmail.com> wrote:
> >>>
> >>> I am all for not having to add \brief. The more readable the comments
> are for someone not using doxygen the better.
> >>>
> >>> On May 8, 2015 2:06 PM, "Matthias Braun" <matze at braunis.de> wrote:
> >>> So far I've heard no objections, I'll wait a few more days and then
> change the doxygen configuration and the recommendations in the coding
> standards. I do not plan to remove any of the existing \brief comments
> though.
> >>>
> >>> - Matthias
> >>>
> >>> > On May 5, 2015, at 5:04 PM, Adrian Prantl <aprantl at apple.com> wrote:
> >>> >
> >>> > Getting rid of all the distracting \brief comment markers in our
> header files would be great!
> >>> > Note that we will also need to update our coding standards to no
> longer encourage them then.
> >>> >
> >>> > -- adrian
> >>> >> On May 3, 2015, at 9:08 PM, Justin Bogner <mail at justinbogner.com>
> wrote:
> >>> >>
> >>> >> Matthias Braun <matze at braunis.de> writes:
> >>> >>> We just had some discussion in the IRC channel and wondered
> whether it
> >>> >>> would be a good idea to enable one of the doxygen autobrief options
> >>> >>> for llvm:
> >>> >>>
> >>> >>> JAVADOC_AUTOBRIEF
> >>> >>> If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will
> interpret
> >>> >>> the first line (until the first dot) of a Javadoc-style comment as
> the
> >>> >>> brief description. If set to NO, the Javadoc-style will behave just
> >>> >>> like regular Qt-style comments (thus requiring an explicit @brief
> >>> >>> command for a brief description.)
> >>> >>>
> >>> >>> The default value is: NO.
> >>> >>>
> >>> >>> QT_AUTOBRIEF
> >>> >>> If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret
> the
> >>> >>> first line (until the first dot) of a Qt-style comment as the brief
> >>> >>> description. If set to NO, the Qt-style will behave just like
> regular
> >>> >>> Qt-style comments (thus requiring an explicit \brief command for a
> >>> >>> brief description.)
> >>> >>>
> >>> >>> The default value is: NO.
> >>> >>>
> >>> >>>
> >>> >>> Seeing that the \brief commands are often missing and visually
> noisy
> >>> >>> (IMO) this may improve our documentation and save us some typing in
> >>> >>> the future.
> >>> >>
> >>> >> FWIW, I can't see any downside to enabling this option. Adding
> \brief is
> >>> >> redundant and hurts readability in the source, and the fact that
> we're
> >>> >> inconsistent about it means the experience in the doxygen-generated
> html
> >>> >> is often missing summaries for functions, which is annoying.
> Setting the
> >>> >> autobrief option improves both of these problems.
> >>> >>
> >>> >> +1.
> >>> >>
> >>> >>> - Matthias
> >>> >>> _______________________________________________
> >>> >>> LLVM Developers mailing list
> >>> >>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>> >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>> >> _______________________________________________
> >>> >> LLVM Developers mailing list
> >>> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>> >
> >>> >
> >>> > _______________________________________________
> >>> > LLVM Developers mailing list
> >>> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>>
> >>>
> >>> _______________________________________________
> >>> LLVM Developers mailing list
> >>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>> _______________________________________________
> >>> LLVM Developers mailing list
> >>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150526/fcba2f0e/attachment.html>


More information about the llvm-dev mailing list