BigMikey
V2EX  ›  Java

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

  •  
  •   BigMikey · Mar 20, 2023 · 4141 views
    This topic created in 1336 days ago, the information mentioned may be changed or developed.
    https://github.com/BigMikey-V/Transfer/blob/main/README.md
    提供与 Python 进制转换函数类似功能。
    忘记把自己新被子放床上了,睡觉睡觉~
    (各位看官走过路过瞄几眼呗)
    25 replies  •  2023-05-02 15:26:25 +08:00
    zagfai
    zagfai
    Mar 20, 2023❤️1
    1
    既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

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

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

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

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

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

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

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

    第四,没有异常处理。

    第五,没有注释。

    只说了一点点,剩下的交给其他人来补充吧。建议看看别人的一些源码学习学习。
    BigMikey
    BigMikey
    OP
    Mar 21, 2023 via Android
    21
    谢谢各位的斧正,本着学习的心态来讨教的哈哈,谢谢啦!
    BigMikey
    BigMikey
    OP
    Mar 21, 2023 via Android
    22
    喷没有问题哈,实话说我也不介意被喷,主要吧还是想学技术。
    BigMikey
    BigMikey
    OP
    Mar 21, 2023 via Android
    23
    只要不是恶意的都没有问题~
    susu200213
    susu200213
    Apr 8, 2023
    24
    @BigMikey 加油
    BigMikey
    BigMikey
    OP
    May 2, 2023
    25
    @rzdCG #24 谢谢啦
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1849 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 07:40 · PVG 15:40 · LAX 23:40 · JFK 02:40
    ♥ Do have faith in what you're doing.