第一次做开源 Java 库,用于进制转换 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
BigMikey
V2EX    Java

第一次做开源 Java 库,用于进制转换

  •  
  •   BigMikey 2023-03-20 01:40:11 +08:00 3504 次点击
    这是一个创建于 1004 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/BigMikey-V/Transfer/blob/main/README.md
    提供与 Python 进制转换函数类似能。
    忘记把自己新被子放床上了,睡觉睡觉~
    (各位看官走过路过瞄几眼呗)
    25 条回复    2023-05-02 15:26:25 +08:00
    zagfai
        1
    zagfai  
       2023-03-20 02:09:43 +08:00   1
    既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

    建议,先多看,看够 20 万行代码再写
    KoedaNagi
        2
    KoedaNagi  
       2023-03-20 02:13:27 +08:00 via Android
    既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

    建议,先多看,看够 40 万行代码再写
    auh
        3
    auh  
       2023-03-20 02:20:03 +08:00
    既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

    建议,先多看,看够 400 万行代码再写
    c6h6benzene
        4
    c6h6benzene  
       2023-03-20 03:13:55 +08:00
    好像有 parseInt()?
    msg7086
        5
    msg7086  
       2023-03-20 03:34:57 +08:00
    首先吧,测试用例呢?你不会以为人们愿意在没有测试覆盖的情况下用你的库吧……
    hefish
        6
    hefish  
       2023-03-20 07:38:18 +08:00
    这个,还是应该鼓励为主的。
    litchinn
        7
    litchinn  
       2023-03-20 08:24:32 +08:00   5
    原则上应当以鼓励为主但是首先,java 的 Integer 类有 Integer.toBinaryString 、Integer.toOctalString 、Integer.toHexString 方法,你可以参考下
    其次你的代码真的很不 java
    tairan2006
        8
    tairan2006  
       2023-03-20 08:44:19 +08:00   1
    Java 里面流行的是 hutool 、common-lang3 这种大而全的 utils 集合,这种小功能写个库好像 nodejs 中比较流行,小兄弟不妨考虑换个方向。
    selca
        9
    selca  
       2023-03-20 08:50:20 +08:00
    至少功能实现了
    Cola98
        10
    Cola98  
       2023-03-20 09:01:54 +08:00
    public void init(){
    result = "";
    atmp = "";
    btmp = "";
    }
    这一段初始化的,Java 不是有一个 get/set 方法嘛?还有就是命名规范有点问题,main 方法里面的测试你可以单独弄成测试单元去跑下
    chocotan
        11
    chocotan  
       2023-03-20 09:09:04 +08:00
    第 89 行
    result = new StringBuffer(atmp).reverse().toString();
    if(btmp.length() > 1) result += "." + btmp;

    这 new 了个 StringBuffer 就是为了 reverse ?
    CodeCodeStudy
        12
    CodeCodeStudy  
       2023-03-20 09:12:57 +08:00
    if 后面一定要跟{},不然不利于阅读
    godleon
        13
    godleon  
       2023-03-20 09:17:11 +08:00
    建议给 x 做个非空
    dqzcwxb
        14
    dqzcwxb  
       2023-03-20 09:23:38 +08:00
    逆耳良言
    leahoop
        15
    leahoop  
       2023-03-20 09:27:22 +08:00
    好奇问一下,用了共享变量怎么没用多线程控制
    Eiden
        16
    Eiden  
       2023-03-20 09:30:59 +08:00   1
    我还以为 java 没有内置进制转换
    fiveStarLaoliang
        17
    fiveStarLaoliang  
       2023-03-20 09:44:57 +08:00
    话不多说, 加油
    leonard916
        18
    leonard916  
       2023-03-20 09:47:53 +08:00
    标准库里有的,不要重新去实现。除非你有更好的算法或数据结构。
    当然你作为学习项目,怎么写都可以。作为库就没必要了。
    yaphets666
        19
    yaphets666  
       2023-03-20 10:36:52 +08:00   1
    其实很好,哪怕自己写的代码不好,发出来就有大佬斧正了,自己就提高了
    sleepyfevniv
        20
    sleepyfevniv  
       2023-03-20 13:53:34 +08:00   1
    既然别人都批评过了,那么我就来按照我公司的规范来讲讲吧。

    首先,Transfer 类我可是第一次见还能 import static 的方式(毕竟我不这么用),一般来说都是 import java.lang.Math; 然后 Math.pow() 使用。

    第二点,每个方法都不是 static ,意味着每次都需要 new 之后才能使用。

    第三,for if 等这种方法,都需要用大括号括起来,不要因为一行语句就不用大括号了,不要吝啬空行。

    第四,没有异常处理。

    第五,没有注释。

    只说了一点点,剩下的交给其他人来补充吧。建议看看别人的一些源码学习学习。
    BigMikey
        21
    BigMikey  
    OP
       2023-03-21 14:08:20 +08:00 via Android
    谢谢各位的斧正,本着学习的心态来讨教的哈哈,谢谢啦!
        22
    BigMikey  
    OP
       2023-03-21 14:09:57 +08:00 via Android
    喷没有问题哈,实话说我也不介意被喷,主要吧还是想学技术。
    BigMikey
        23
    BigMikey  
    OP
       2023-03-21 14:10:25 +08:00 via Android
    只要不是恶意的都没有问题~
    susu200213
        24
    susu200213  
       2023-04-08 20:12:32 +08:00
    @BigMikey 加油
    BigMikey
        25
    BigMikey  
    OP
       2023-05-02 15:26:25 +08:00
    @rzdCG #24 谢谢啦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2920 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 13:42 PVG 21:42 LAX 05:42 JFK 08:42
    Do have faith in what you're doing.
    ubao msn 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