V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jinzhongyuan
V2EX  ›  Java

为什么 feign 的源码喜欢一个类文件里面 好多内部类?

  •  
  •   jinzhongyuan · 2020-05-13 15:57:10 +08:00 · 2549 次点击
    这是一个创建于 1684 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了好累

    11 条回复    2020-05-13 20:42:55 +08:00
    zoharSoul
        1
    zoharSoul  
       2020-05-13 16:24:45 +08:00   ❤️ 1
    你就当他没 class
    全是 function 不就好了
    xinQing
        2
    xinQing  
       2020-05-13 17:41:17 +08:00
    因为是内部类哇
    jinzhongyuan
        3
    jinzhongyuan  
    OP
       2020-05-13 17:59:29 +08:00
    @xinQing 额,我的意思定义在里面看起来好麻烦
    hantsy
        4
    hantsy  
       2020-05-13 18:09:14 +08:00
    太正常了,如果不暴露给外面调用,用单独文件干嘛 。
    如果你看 Scala,Kotlin 应用代码不是想撞死。

    @xinQing 不一定是内部类。用过 Kotlin 后,我也喜欢这么写,https://github.com/hantsy/angular-spring-reactive-sample/blob/master/server/src/main/java/com/example/demo/Application.java
    https://github.com/hantsy/angular-spring-reactive-sample/blob/master/server/src/main/java/com/example/demo/RestExceptionHandler.java


    Java 一个文件里只有一个 Public 类(与文件名一致),但可以包含多个类,其他的可见性都是 Package 。不过这也会成为过去式了,Java 以后也和 Scala 一样,允许多个 Public 类放同一个文件,类名与文件可以不一致。
    hantsy
        5
    hantsy  
       2020-05-13 18:11:09 +08:00
    安卓的官方教程里也有这种写法,文件太多反而维护看起来麻烦。
    hantsy
        6
    hantsy  
       2020-05-13 18:15:08 +08:00
    真正内部类只当它是 Public 类的一个属性就好了。
    xinQing
        7
    xinQing  
       2020-05-13 18:18:17 +08:00
    都是有个平衡点的,写一起,代码太多看起来也不舒服;分开后又很多文件,每个才几行代码。公司里面更喜欢分开,团队人多,都改同一个文件冲突太频繁了。这种事情不纠结,自己团队习惯就行
    jinzhongyuan
        8
    jinzhongyuan  
    OP
       2020-05-13 20:05:34 +08:00
    @hantsy 大佬 reactive 玩起来了
    jinzhongyuan
        9
    jinzhongyuan  
    OP
       2020-05-13 20:05:49 +08:00
    @xinQing 嗯嗯
    namelosw
        10
    namelosw  
       2020-05-13 20:26:27 +08:00
    因为 Java 没有顶层函数。
    luckyrayyy
        11
    luckyrayyy  
       2020-05-13 20:42:55 +08:00
    @hantsy 请问你说的这个“以后”是指什么时候?是有提上某个版本的开发计划了吗?之前没听说过这种变动
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:40 · PVG 03:40 · LAX 11:40 · JFK 14:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.