Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查看参数到参数映射的简单方法_Java_Eclipse - Fatal编程技术网

Java 查看参数到参数映射的简单方法

Java 查看参数到参数映射的简单方法,java,eclipse,Java,Eclipse,在Eclipse中,有没有一种简单的方法可以查看方法调用中的参数-参数映射 例如,假设一个方法定义为: public String myMethod( String p1, String p2, String p3 ); 在其他地方,它被引用为(方法调用): 假设的特性将显示如下映射(可能当鼠标指针悬停在方法调用上时): 我相信这对于需要大量参数的方法非常有用。通常,我必须手动计数和检查位置,以确保每个参数都指定给正确的参数 编辑:这个问

在Eclipse中,有没有一种简单的方法可以查看方法调用中的参数-参数映射

例如,假设一个方法定义为:

public String myMethod(
        String p1,
        String p2,
        String p3
    );
在其他地方,它被引用为(方法调用):

假设的特性将显示如下映射(可能当鼠标指针悬停在方法调用上时):

我相信这对于需要大量参数的方法非常有用。通常,我必须手动计数和检查位置,以确保每个参数都指定给正确的参数


编辑:这个问题与代码实践或代码重构无关。这是关于Eclipse是否提供了一种功能来快速查看方法调用中的参数与方法定义中的参数之间的映射。

主要问题是1。你的方法需要太多的参数,2。您的格式设置没有明确说明这一点。每行写一个参数,它的可读性就会更好(Eclipse甚至可以通过这种方式为您自动格式化)。使用对象对参数进行分组,或者使用构建器模式,或者任何减少方法参数数量的OO技术。你误解我了。这不是关于代码实践,而是Eclipse是否提供了一种查看方法调用中的参数和方法定义中的参数之间映射的简单方法,类似于JavaDoc弹出窗口。请注意,以上只是一些例子。在实际代码中,我们每行编写一个参数,并使用构建器模式、bean等等。这不是这里的问题。我们仍然无法快速查看映射,而不必逐个计算并确保参数的顺序。@ADTC:首先,我知道Eclipse中没有这样的功能。第二,你误解了它。根据干净的代码规则(请阅读Robert C.Martin的书),您永远不应该有包含这么多参数的方法。因此,您应该尽量减少方法参数计数,这样您就不需要该特性了。[我知道,这个评论有点不令人满意,但这是事实。]如果您在代码中使用java文档,eclipse将对您有很大帮助。如果选择要通过自动完成(ctrl+space)调用的方法,它将在工具提示中显示整个签名。它自动建议变量名(这应该暗示参数的作用)。如果您遍历方法调用,您将看到您所处的参数。但是JB和Seelenvirtuose是正确的,代码库越好,这些任务就越容易,所以即使代码库不断增长。继续重构并在这些接口上使用java文档,一段时间后事情会变得相当容易,@ADTC:如果它“只显示建议”,那么您必须选择其中一个建议。然后可以使用箭头键在参数中导航。我知道,这有点棘手,因为在过载的情况下,你必须猜测正确的方法。但是在点击
ctrl
+
空格
之前,将光标放在最后一个逗号之后(在最后一个参数之前),可以显著减少可能性的数量。
String myOutput = myMethod(
        arg3,
        anObject.getArg2(),
        "myString"
    );
String myMethod(String p1, String p2, String p3)
    p1: arg3
    p2: anObject.getArg2()
    p3: "myString"