On 05/12/18 08:47, Richard Damon wrote:
> On 5/11/18 2:44 PM, Greg Ercolano wrote:
>>
>>     I'd like to use //!< to comment the function/method parameters,
>>     but the coding style of the project seems to be causing trouble
>>     when it's used on the last argument:
>>
>> __________________________________________________________________ snip
>> [..]
>> string AskApp(const char *cmd,          //!< command to send app
>>               const string& arg) {      //!< argument to command   <-- THIS 
>> DOESN'T WORK
>>     if ( arg == "" ) {
>> [..]
>> __________________________________________________________________ snip
>>
>>     It seems doxygen can't deal with this bracing style,
>>     with the opening brace being on the same line as the argument:
>>
>> warning: The following parameters of AddLetterDialog::AskApp(..) are not 
>> documented: parameter 'arg'
>> [..]
>
> My first guess is that the issue is the comment for the last argument is
> no longer in the right context to refer to the argument, as it is no
> long 'right after' the argument but is now inside the function.

        Right, for sure it's the coding style, which indent(1)
        calls 'braces-on-func-def-line'.

        I'd considered going with:

>> string AskApp(const char *cmd,          //!< command to send app
>>               const string& arg         //!< argument to command
>>              ) {
>>     if ( arg == "" ) {

        ..which seems to work, but kinda defeats the purpose of the
        floating brace keeping the vertical size of the file small.

        I decided to just stick with @param, and ensure the proper
        warning flags are enabled in Doxyfile.

> to place it in the right context. I personally use @param and look for
> the warnings if things get out of sync.

        Right, I'm of the same opinion.

        It's too bad though; "//!<" is quite nice in that there's
        no way the names can get out of sync. It also removes the
        duplication of specifying the name twice; (once in docs,
        once in the code)

        I'd log it as a bug, as I think doxygen should be able to
        cleverly handle different coding styles, but then there's this..

> As to the parameters coming after the returns, that is like because the
> documentation is produced in the order it is in the file, (there is no
> implicit sorting of these paragraphs) so since the parameters are
> documented after the returns, that is how the documentation is produced.

        Yes, it seems for instance even with '@param', if it appears after
        \returns, that changes the order. Huh.

        And that pretty much puts to bed for me the idea of using '//!<'
        this way.. unless there's a way to force \returns to appear
        after params.

        Thanks for the help -- wanted to make sure I wasn't missing something.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to