弹簧控制器方法的圈复杂度:最佳实践**

时间:2019-05-28 15:06:15

标签: spring spring-mvc

我有一个spring-boot控制器,它从service获取数据并返回thymeleaf html页面。一切正常。

这里的问题是我必须创建thymeleaf将使用的一堆列表和映射,并且控制器方法越来越大。

   @Controller
    public class MyController {

        @Autowired
        MyService myService; 

        @RequestMapping("/my-page")
        public String getMypage(Model model) {

            //get data from service

            //i have alot of code to extract data and prepare different list to be used by thymeleaf

        }
}

现在我的问题是关于最佳实践

在控制器内部创建方法是个好主意,这样代码将更具可读性,如下所示

@Controller
public class MyController {

    @Autowired
    MyService myService; 

    @RequestMapping("/my-page")
    public String getMypage(Model model) {

        //get data from service

        myMethod1();
        //some code here
        //myMethod2();
        // code here

    }

    private void myMethod1(){

        //myMethod 1 code here
    }

    private void myMethod2(){

        //method 2 code here
    }
}

1 个答案:

答案 0 :(得分:0)

是的,这肯定是个好主意。

您知道罗伯特·C·马丁(Robert C. Martin)的书《清洁代码》(Clean Code):

https://www.amazon.de/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882