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

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

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

    建议,先多看,看够 20 万行代码再写
    KoedaNagi
        2
    KoedaNagi  
       75 天前 via Android
    既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

    建议,先多看,看够 40 万行代码再写
    auh
        3
    auh  
       75 天前
    既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

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

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

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

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

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

    第四,没有异常处理。

    第五,没有注释。

    只说了一点点,剩下的交给其他人来补充吧。建议看看别人的一些源码学习学习。
    BigMikey
        21
    BigMikey  
    OP
       73 天前 via Android
    谢谢各位的斧正,本着学习的心态来讨教的哈哈,谢谢啦!
    BigMikey
        22
    BigMikey  
    OP
       73 天前 via Android
    喷没有问题哈,实话说我也不介意被喷,主要吧还是想学技术。
    BigMikey
        23
    BigMikey  
    OP
       73 天前 via Android
    只要不是恶意的都没有问题~
    rzdCG
        24
    rzdCG  
       55 天前
    @BigMikey 加油
    BigMikey
        25
    BigMikey  
    OP
       31 天前
    @rzdCG #24 谢谢啦
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2620 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 03:40 · PVG 11:40 · LAX 20:40 · JFK 23:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.