5

我当前工作的项目对 MVC 控制器的方法使用私有访问修饰符:

@Controller
public class HelloWorldController {

    @RequestMapping("/helloWorld")
    private ModelAndView helloWorld() {

我已经集成了 PMD,他的报告有很多:

/src/main/java/com/web/controller/SignalController.java:91: Avoid unused private
                                            methods such as 'handleNewRequest()'.

因此,我认为不是禁用有用的 PMD 规则,而是将控制器的方法可见性更改为public

有什么理由让控制器的方法保持私有

4

1 回答 1

11

通过将其设为私有,您正在自取其辱:

  1. 它被 PMD 和 IDE 视为未使用(以及它调用的所有其他私有方法)。因此,您或同事可能会错误地删除实际使用的私有方法。
  2. 这使得对它们进行单元测试变得更加困难。
  3. 这是非常规的,使您的代码对于有经验的 Spring 开发人员来说看起来很奇怪。
  4. 它们在逻辑上是公共的,因为它们是由类和包之外的代码调用的。
于 2017-09-04T06:44:38.693 回答