为什么 Java lib 源码中总是习惯用 var 加数字命名变量 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
101110001
V2EX    Java

为什么 Java lib 源码中总是习惯用 var 加数字命名变量

  •  
  •   101110001 2021-02-07 11:45:23 +08:00 4336 次点击
    这是一个创建于 1708 天前的主题,其中的信息可能已经有所发展或是发生改变。

    java lib 源码中太多以 var 命名的变量,阅读起来感觉很难理清逻辑
    源码截图例: image.png

    16 条回复    2021-02-08 11:09:57 +08:00
    GPLer
        1
    GPLer  
       2021-02-07 11:48:55 +08:00 via Android
    你这是反编译出来的吧。。。
    koujyungenn
        2
    koujyungenn  
       2021-02-07 11:49:23 +08:00
    没记错的话,这是 class 文件被反编译后的“源码”,和真正的源码有点出入
    devld
        3
    devld  
       2021-02-07 11:49:31 +08:00 via Android
    楼上
    RedBeanIce
        4
    RedBeanIce  
       2021-02-07 11:50:32 +08:00
    附议楼上。
    XiaoxiaoPu
        5
    XiaoxiaoPu  
       2021-02-07 11:51:01 +08:00   4
    101110001
        6
    101110001  
    OP
       2021-02-07 11:51:43 +08:00
    @GPLer 我用 IDEA 直接打开的 jar 包,应该是 idea 反编译的?
    可我看别人的包,也大多数是正常的命名方式
    ![image.png]( https://i.loli.net/2021/02/07/DWrMaTCPeQ2f17E.png)
    caixiaomao
        7
    caixiaomao  
       2021-02-07 11:52:05 +08:00   4
    想看真源码的话 maven 那栏有个 download sources 这个才是源码
    liuxey
        8
    liuxey  
       2021-02-07 11:53:13 +08:00   1
    反编译工具的问题
    http://www.docjar.com/html/api/sun/nio/fs/WindowsFileSystem.java.html
    239 行源码是正常的,你关联一下源码就能看到原始代码了
    101110001
        9
    101110001  
    OP
       2021-02-07 11:56:02 +08:00
    感谢大家解答!!
    dinghao188
        10
    dinghao188  
       2021-02-07 12:29:36 +08:00
    -_ _- !
    cmlanche
        11
    cmlanche  
       2021-02-07 13:40:43 +08:00
    额,菜了吧
    starxg
        12
    starxg  
       2021-02-07 13:56:30 +08:00
    如果你使用了包管理器,idea 右上角会提示你下载源码,把源码下载下来就好了。
    sprite82
        13
    sprite82  
       2021-02-07 15:03:08 +08:00
    因为这是 sun 的包,不开源的,jdk 带的源码中没有它,如果你去看看 java.lang 比如 string 就会发现命名正常而且有注释。sun 的包没源码反编译后就这样
    graffitist
        14
    graffitist  
       2021-02-07 18:01:29 +08:00
    -g:none 或 -g:vars 来取消或生成这项信息
    如果没有生成这项信息,那么当别人引用这个方法时,将无法获取到参数名称,取而代之的是 arg0, arg1 这样的占位符
    zm8m93Q1e5otOC69
        15
    zm8m93Q1e5otOC69  
       2021-02-08 10:00:11 +08:00
    因为是 IDE 帮你反编译的。。正常下载源码后会有正常的变量名和注释
    xrzxrzxrz
        16
    xrzxrzxrz  
       2021-02-08 11:09:57 +08:00
    你看的这个代码文件是.class 的,下载源码后会变成.java
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5714 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:47 PVG 09:47 LAX 18:47 JFK 21:47
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86