繁体   English   中英

强制参数名称一致性

[英]Enforcing parameter name consistency

在下面的简单示例中,创建了一个带有方法和参数名称 bar 的接口。

以下实现通过指定动物园巧妙地改变了这一点。

    public class Query {

      public interface MyInterface {
        public void foo(int bar);
      }

      public class Thing implements MyInterface {
        @Override
        public void foo(int zoo) { }   
      }

      public Query() { }

      public static void main(String[] args) { }

    }

如何强制参数名称符合MyInterface中指定的MyInterfacebar而不是zoo )?

理想情况下,我正在寻找会引发警告或错误的编译器选项或类似选项。

在编译器级别(例如 javac) -您不能方法签名仅从方法名称和参数类型创建,因此名称和返回类型基本上被忽略

您唯一能做的就是为 SonarQube 之类的工具编写自己的语法规则,但据我所知,它不适合您。

似乎您想创建一些库 [代码序列化?] 并强制用户使用正确的参数命名 - 这意味着您还需要强制他使用特定工具

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM