1
0x666666 2020-05-26 14:42:52 +08:00 2
hutool 不够好用?
|
2
luckyrayyy 2020-05-26 14:45:02 +08:00 2
是我 guava 提不动刀了,还是 apache commons 不给力了,hutool 不香吗?
|
3
Kilerd 2020-05-26 14:45:42 +08:00 4
|
4
AprilNovember 2020-05-26 15:18:29 +08:00
@Kilerd 扎铁了,老心。话说你这狗头咋发的,我去微博复制过来也没用,可恶
|
5
Kilerd 2020-05-26 15:24:10 +08:00
@AprilNovember #4 装一个 V2EX plus chrome plugin
|
6
AprilNovember 2020-05-26 15:26:20 +08:00
@Kilerd 好吧, 原来是插件,这就去,哈哈,感谢
|
7
warcraft1236 2020-05-26 15:53:17 +08:00
没看具体实现,就去 ut 部分看了一下,感觉不太行
|
8
xiaofan2 2020-05-26 15:55:22 +08:00 1
=.= 轮子哥
|
9
KentY 2020-05-26 17:23:50 +08:00 1
点进去扫了几眼. 先说结论, 这应该不是按照公共产品要求的一个项目, 而更像是学习实践类的东西. 不建议在实际项目里应用.
点看了几个文件的代码, 看的不多, 说说一眼看去的几个感觉, 你斟酌: - java doc 你注重 @author, 没什么但是 @since 不是时间, 而是某 method 是什么版本引入的 - 避免拼写错误, 特别是 package name, 比如"modle" 没这个东西 - package name 一般是单数, 当然你非要用复数也可以, 但是要统一, 不能一会这样, 一会那样. 同理, class name 也是 - 大都是 utilclass, static methods 挺好的, 但是要 DRY, 你里面很多自我重复的逻辑实现, 万一哪里有问题, 你要改所有的地方. static 也是可以抽离的 -至于注释, test coverage, 就不说了, 上面有人说过 |
10
KentY 2020-05-26 17:35:19 +08:00
@0x666666 @luckyrayyy 刚回复完看到你们提的 hutool... 完全没听说过.... 别说用了.
去看了一下..中文局限的项目可能会比较合适.应该以后也是没有机会用. 在日常使用里, 有哪些比 guava, apache commons 好的地方? (你们的感受). |
11
luckyrayyy 2020-05-26 17:38:26 +08:00
@KentY 文档啊,中文省事,另外就是功能多吧,常用的都有。都是工具类没怎么挑过,一般都是用其中一个,没做过横向对比...
|
12
0x666666 2020-05-26 17:39:17 +08:00
@KentY #10 用起来是差不多的,但是 hutool 工具比 guava 和 commons 更多,基本上你能想到的工具,hutool 都有。
|
13
KentY 2020-05-26 17:43:59 +08:00
@0x666666 @luckyrayyy 谢谢你们分享感受.
也许有一天它国际化了, 我能有机会试试.但是说服同事引用一个新依赖, 而舍去 apache commons or guava 应该是几率非常小的事. |
14
0x666666 2020-05-26 17:47:42 +08:00
@KentY #13 可以自己起新项目的时候用。我也是去年开始用 hutool 的 之前也是 common-lang3 包和 guava 的用户
|
15
fyxtc 2020-05-26 17:49:19 +08:00
建议移动到推广节点=。=
|
16
KentY 2020-05-26 17:57:08 +08:00
@0x666666 天天工作都是 java, 自己就是想玩点什么 也基本不用 java 了.
而且对只有中文文档的东西有点抵触, 特别是代码里的中文注释, 中文常量. 希望他们有天能改进, 得到更多人的使用和检验. 好东西总会发光, guava 出现的时候也已经有 apache commons 了, 今天不是一样可以成为主流么. |
19
KentY 2020-05-26 18:07:42 +08:00
@0x666666 你误解了, 我不是鄙视中文的东西. 这给我扩展的也太大了.
中国人做了很多特别好的软件产品以及库. 但是, 如果没有英文文档, 开源, 并代码里都是中文的, 一般不会得到特别广泛的应用. 也就不能得到更广泛的测试和检验. 这里不光是中文, 任何其它语言也是(除英语外). 我们的项目里明确有介绍, 只要涉及技术文档, 代码, 注释, 必须用英语. 以前还有同事写的变量名, 注释是德语的.... |
20
17701762115 OP @Kilerd 大都工具类在我别的项目都已经测试过了,当然,后面我会在这个项目中补起来
|
21
17701762115 OP @KentY 首先感谢你中肯的评价,这个项目我个人觉得确实想一个 best-practise 。你建议中的 test coverage 方面,需要说明一下,该项目大都工具类我都已经其他项目实践过,unit test 也是全 cover 了。当然对你的其他建议,我也会结合项目来做改动,最后,十分感谢你能认真阅读我的代码,同时给出了很好建议。
|
22
anyele 2020-05-26 19:23:35 +08:00 via Android
hutool 不香? 而且为啥用拿 guava 这些库比较,你没看名字带有 Google Apache 吗
|
23
KentY 2020-05-26 19:43:40 +08:00
@17701762115 我并没认真读你的代码, 只是看了几个 class, 比如那个 DateUtil and the DecimalUtil, 就看到哪说哪. 也不一定对. 反正学习呗.
- 还有我刚忘了是 DecimalUtil 里还有个 public main, 只是把 void 改成了 int 返回个 0, 不知道是啥意思? - 你对"best-practice"这个短语的理解可能有误 我猜你想说"一个好的练习场" 但是那个短语不是这个意思. - test 我没看, 只是前面评论说你 coverage 不全. static methods 还挺好 test 的. |
24
CismonX 2020-05-26 20:22:03 +08:00
刚点开 README 就发现一个 typo
> getCurrentDate(),获取当期日志,只包含日期 |
25
Kilerd 2020-05-26 20:25:13 +08:00
https://github.com/LJWLgl/CommonUtil/blob/master/src/main/java/io/github/ljwlgl/util/NetworkUtil.java#L91
就单从获取 ip 这个 load 的方法,我就质疑这东西的实用性。 吞掉了所有 Exception,还 sout 出来一个字符串。 |
26
17701762115 OP NetworkUtil 是参考了 Cat 内部的实现,我没有做过多的改动,后面我重新梳理一下,把该抛出的异常都会抛出,当然,开源的一部分目的就是接受大家质疑和批评,然后去不够改进,所以多谢你的意见。
|
27
17701762115 OP @Kilerd
NetworkUtil 是参考了 Cat 内部的实现,我没有做过多的改动,后面我重新梳理一下,把该抛出的异常都会抛出,当然,开源的一部分目的就是接受大家质疑和批评,然后去不够改进,所以多谢你的意见。 |
28
17701762115 OP |
29
17701762115 OP @warcraft1236 unit test 我会逐步完善,不过这些我都是在其它项目实践过的,可以放心使用
|
30
17701762115 OP @luckyrayyy 哈哈,有志青年应该能提个锤去造轮子,至少能发现发现轮子是这么个造法。另外,此项目还是在初期,如果大家能经验所得一起投入这个项目中,这事还是很有意思的
|
31
17701762115 OP @CismonX 需获取到秒可以通过
DateUtil.stringToDate(DateUtil.dateToString(Calendar.getInstance().getTime(), DateUtil.YYYYMMDDHHMMSS)) 来实现,有臃长,后面我会提供一个 method 出来 |
32
17701762115 OP @xiaofan2 哎😌
|
33
echooo0 2020-05-26 22:23:44 +08:00
作者别灰心,能把轮子造好本身也是一种能力,加油
|
34
17701762115 OP @echooo0 哈哈,谢谢了,我会把这个项目做好的
|
35
chihiro2014 2020-05-26 23:32:10 +08:00
说 guava 也好,hutool 也罢。你们难道不知道 Spring 自带工具类么!!!
|
36
yiyi11 2020-05-27 02:03:39 +08:00 via Android
没用过 hutool,想了解的时候对 hutool 有个不好的印象,它的项目的 issue 打开数量极少,关闭时间很快。容我冒犯地说一句,就算是开源项目,但这种做法未免有点功利。
|
38
JRay 2020-05-27 09:31:55 +08:00
hutool 最近在用,很舒服啊
|
39
ChanKc 2020-05-27 09:46:56 +08:00 via Android
做工具类也不是不可以,建议做完后拿 guava,Apache 甚至 openJDK 来对答案…这样就知道自己哪里做得不好了
|
40
17701762115 OP @ChanKc 是的,Guava 里面代码思想都可以借鉴
|