首页 > 解决方案 > JavadocMethod:实际存在时预期的@param标记错误

问题描述

我收到以下检查样式错误

[ERROR] src\main\java\com\disney\wdpr\dclm\personalization\base\service\mapper\PaymentSvcMapper.java:[45,46] (javadoc) JavadocMethod: Expected @param tag for 'retrievePersonByPersonIdPayerResponse'.
[ERROR] src\main\java\com\disney\wdpr\dclm\personalization\base\service\mapper\PaymentSvcMapper.java:[46,33] (javadoc) JavadocMethod: Expected @param tag for 'fidelioPostResponse'.
[ERROR] src\main\java\com\disney\wdpr\dclm\personalization\base\service\mapper\PaymentSvcMapper.java:[46,62] (javadoc) JavadocMethod: Expected @param tag for 'personId'.
[ERROR] src\main\java\com\disney\wdpr\dclm\personalization\base\service\mapper\PaymentSvcMapper.java:[46,89] (javadoc) JavadocMethod: Expected @param tag for 'blist'.
[ERROR] src\main\java\com\disney\wdpr\dclm\personalization\base\service\mapper\PaymentSvcMapper.java:[46,103] (javadoc) JavadocMethod: Expected @param tag for 'paymentType'.
[ERROR] src\main\java\com\disney\wdpr\dclm\personalization\base\service\mapper\PaymentSvcMapper.java:[47,21] (javadoc) JavadocMethod: Expected @param tag for 'routedPId'.

但是我的代码在指定的函数和行号中包含@param 标记。

/**
 * @param retrievePersonByPersonIdPayerResponse
 * @param fidelioPostResponse
 * @param personId
 * @param blist
 * @param paymentType
 * @param routedPId
 * @return
 */
public static PaymentResponse mapPaymentRequest(
        RetrievePersonByPersonIdResponse retrievePersonByPersonIdPayerResponse,
        FidelioPostResponse fidelioPostResponse, Integer personId, HashSet<Integer> blist, String paymentType,
        Integer routedPId) {

请指教。

标签: javajavadoccheckstyle

解决方案


这是因为你只是列出了论点,而不是解释它们。您的 javadoc 浪费空间,它不会添加代码中不存在的任何内容。

这是一个最小的例子:

public class Test {
    /**
     * @param theFoo what to foo
     */
    public String foo(String theFoo) {
        return theFoo;
    }
}

当我运行javadoc它时,我收到了类似的抱怨:

robert:~$ javadoc Test.java
Loading source file Test.java...
Constructing Javadoc information...
Standard Doclet version 14.0.1
Building tree for all the packages and classes...
Generating ./Test.html...
Test.java:3: warning: no description for @param
     * @param theFoo
       ^
Test.java:5: warning: no @return
    public String foo(String theFoo) {
                  ^
...

只需添加一些解释即可修复它:

public class Test {
    /**
     * @param theFoo what to foo
     * @return the same foo
     */
    public String foo(String theFoo) {
        return theFoo;
    }
}

您不会收到有关它的警告,但老实说,您的 Javadoc 应该在第一个@param.


推荐阅读