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

2023-03-20 01:40:11 +08:00
 BigMikey
https://github.com/BigMikey-V/Transfer/blob/main/README.md
提供与 Python 进制转换函数类似功能。
忘记把自己新被子放床上了,睡觉睡觉~
(各位看官走过路过瞄几眼呗)
2944 次点击
所在节点    Java
25 条回复
zagfai
2023-03-20 02:09:43 +08:00
既然小朋友你这么大胆我也不妨直喷了。。。你这代码质量很差,性能很差,没有意义。

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

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

建议,先多看,看够 400 万行代码再写
c6h6benzene
2023-03-20 03:13:55 +08:00
好像有 parseInt()?
msg7086
2023-03-20 03:34:57 +08:00
首先吧,测试用例呢?你不会以为人们愿意在没有测试覆盖的情况下用你的库吧……
hefish
2023-03-20 07:38:18 +08:00
这个,还是应该鼓励为主的。
litchinn
2023-03-20 08:24:32 +08:00
原则上应当以鼓励为主
但是首先,java 的 Integer 类有 Integer.toBinaryString 、Integer.toOctalString 、Integer.toHexString 方法,你可以参考下
其次你的代码真的很不 java
tairan2006
2023-03-20 08:44:19 +08:00
Java 里面流行的是 hutool 、common-lang3 这种大而全的 utils 集合,这种小功能写个库好像 nodejs 中比较流行,小兄弟不妨考虑换个方向。
selca
2023-03-20 08:50:20 +08:00
至少功能实现了
Cola98
2023-03-20 09:01:54 +08:00
public void init(){
result = "";
atmp = "";
btmp = "";
}
这一段初始化的,Java 不是有一个 get/set 方法嘛?还有就是命名规范有点问题,main 方法里面的测试你可以单独弄成测试单元去跑下
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
2023-03-20 09:12:57 +08:00
if 后面一定要跟{},不然不利于阅读
godleon
2023-03-20 09:17:11 +08:00
建议给 x 做个非空
dqzcwxb
2023-03-20 09:23:38 +08:00
逆耳良言
leahoop
2023-03-20 09:27:22 +08:00
好奇问一下,用了共享变量怎么没用多线程控制
Eiden
2023-03-20 09:30:59 +08:00
我还以为 java 没有内置进制转换
fiveStarLaoliang
2023-03-20 09:44:57 +08:00
话不多说, 加油
leonard916
2023-03-20 09:47:53 +08:00
标准库里有的,不要重新去实现。除非你有更好的算法或数据结构。
当然你作为学习项目,怎么写都可以。作为库就没必要了。
yaphets666
2023-03-20 10:36:52 +08:00
其实很好,哪怕自己写的代码不好,发出来就有大佬斧正了,自己就提高了
sleepybear1113
2023-03-20 13:53:34 +08:00
既然别人都批评过了,那么我就来按照我公司的规范来讲讲吧。

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

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

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

第四,没有异常处理。

第五,没有注释。

只说了一点点,剩下的交给其他人来补充吧。建议看看别人的一些源码学习学习。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/925391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX