代码优雅实现讨论

2021 年 8 月 16 日
 beryl

RT, Java 代码,一个方法中,逻辑特别多,于是把里面逻辑封装成了几个单独方法,但是也有七八个单独方法,看起来也有点难受:


fun() {

    fun1(); // 数据初始化
    
    // 这里有几行代码,处理特殊逻辑
    
    fun2();
    
    fun3(); // 调用第三方
    
    fun4();
    
    // 这里有打印日志
    
    fun5(); // 缓存处理
    
    fun6();
    
    // 这里有一些代码,做对象转换等
    
    fun7();
    
    // 打印日志等
    
    fun8(); // 缓存处理
    
    return xxx;
   
}

感觉还是在面向过程去写,有点难受看着,但是有没有优化思路,或者优秀代码参考。

5287 次点击
所在节点    程序员
25 条回复
dqzcwxb
2021 年 8 月 17 日
思维导图
沟通
spring event
lambda stream optional
extract method
cutepig
2021 年 8 月 17 日
最近在看函數式編程,
感覺如果你拆分的子函數 func1,。。。能達到函數式的那种重用性,那麽感覺会很不一样
DICK23
2021 年 8 月 18 日
用 AOP 去搞?
securityCoding
2021 年 8 月 18 日
既然存在上下文关系,考虑定义一个 filter 接口来隔离各个功能实现吧
funbox
2021 年 8 月 19 日
把业务逻辑代码写那么复杂 别人砍你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/796126

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX