跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • [干货满满] 给大家分享个 Java 工具库,绝对能提高你的工作效率
未分類
2020 年 5 月 29 日

[干货满满] 给大家分享个 Java 工具库,绝对能提高你的工作效率

[干货满满] 给大家分享个 Java 工具库,绝对能提高你的工作效率

資深大佬 : 17701762115 2

详见: https://github.com/LJWLgl/CommonUtil

大佬有話說 (40)

  • 資深大佬 : 0x666666

    hutool 不够好用?

  • 資深大佬 : luckyrayyy

    是我 guava 提不动刀了,还是 apache commons 不给力了,hutool 不香吗?

  • 資深大佬 : Kilerd

    PR 要求
    注释需要完备,应该对新增的每个方法标注方法说明,同时对传入参数和返回参数也要相应的说明
    充分的 Unit Test,保证每行代码和分支都要覆盖到

    然而我看了以下你的代码,你也没做到这几点啊。
    注释没有,UT 也几乎等于无。

    己所不欲,勿施于人。[干货满满] 给大家分享个 Java 工具库,绝对能提高你的工作效率

  • 資深大佬 : AprilNovember

    @Kilerd 扎铁了,老心。话说你这狗头咋发的,我去微博复制过来也没用,可恶

  • 資深大佬 : Kilerd

    @AprilNovember #4 装一个 V2EX plus chrome plugin

  • 資深大佬 : AprilNovember

    @Kilerd 好吧, 原来是插件,这就去,哈哈,感谢

  • 資深大佬 : warcraft1236

    没看具体实现,就去 ut 部分看了一下,感觉不太行

  • 資深大佬 : xiaofan2

    =.= 轮子哥

  • 資深大佬 : KentY

    点进去扫了几眼. 先说结论, 这应该不是按照公共产品要求的一个项目, 而更像是学习实践类的东西. 不建议在实际项目里应用.

    点看了几个文件的代码, 看的不多, 说说一眼看去的几个感觉, 你斟酌:

    – java doc 你注重 @author, 没什么但是 @since 不是时间, 而是某 method 是什么版本引入的
    – 避免拼写错误, 特别是 package name, 比如”modle” 没这个东西
    – package name 一般是单数, 当然你非要用复数也可以, 但是要统一, 不能一会这样, 一会那样. 同理, class name 也是
    – 大都是 utilclass, static methods 挺好的, 但是要 DRY, 你里面很多自我重复的逻辑实现, 万一哪里有问题, 你要改所有的地方. static 也是可以抽离的
    -至于注释, test coverage, 就不说了, 上面有人说过

  • 資深大佬 : KentY

    @0x666666 @luckyrayyy 刚回复完看到你们提的 hutool… 完全没听说过…. 别说用了.
    去看了一下..中文局限的项目可能会比较合适.应该以后也是没有机会用. 在日常使用里, 有哪些比 guava, apache commons 好的地方? (你们的感受).

  • 資深大佬 : luckyrayyy

    @KentY 文档啊,中文省事,另外就是功能多吧,常用的都有。都是工具类没怎么挑过,一般都是用其中一个,没做过横向对比…

  • 資深大佬 : 0x666666

    @KentY #10 用起来是差不多的,但是 hutool 工具比 guava 和 commons 更多,基本上你能想到的工具,hutool 都有。

  • 資深大佬 : KentY

    @0x666666 @luckyrayyy 谢谢你们分享感受.
    也许有一天它国际化了, 我能有机会试试.但是说服同事引用一个新依赖, 而舍去 apache commons or guava 应该是几率非常小的事.

  • 資深大佬 : 0x666666

    @KentY #13 可以自己起新项目的时候用。我也是去年开始用 hutool 的 之前也是 common-lang3 包和 guava 的用户 [干货满满] 给大家分享个 Java 工具库,绝对能提高你的工作效率

  • 資深大佬 : fyxtc

    建议移动到推广节点=。=

  • 資深大佬 : KentY

    @0x666666 天天工作都是 java, 自己就是想玩点什么 也基本不用 java 了.
    而且对只有中文文档的东西有点抵触, 特别是代码里的中文注释, 中文常量. 希望他们有天能改进, 得到更多人的使用和检验. 好东西总会发光, guava 出现的时候也已经有 apache commons 了, 今天不是一样可以成为主流么.

  • 資深大佬 : 0x666666

    @KentY #16 [干货满满] 给大家分享个 Java 工具库,绝对能提高你的工作效率 你咋跟我前公司 CTO 一样,鄙视中文的东西

  • 資深大佬 : 0x666666

    @KentY #16 我觉得工具这个东西吧 好用最重要

  • 資深大佬 : KentY

    @0x666666 你误解了, 我不是鄙视中文的东西. 这给我扩展的也太大了.
    中国人做了很多特别好的软件产品以及库. 但是, 如果没有英文文档, 开源, 并代码里都是中文的, 一般不会得到特别广泛的应用. 也就不能得到更广泛的测试和检验.
    这里不光是中文, 任何其它语言也是(除英语外). 我们的项目里明确有介绍, 只要涉及技术文档, 代码, 注释, 必须用英语. 以前还有同事写的变量名, 注释是德语的….

  • 主 資深大佬 : 17701762115

    @Kilerd 大都工具类在我别的项目都已经测试过了,当然,后面我会在这个项目中补起来

  • 主 資深大佬 : 17701762115

    @KentY 首先感谢你中肯的评价,这个项目我个人觉得确实想一个 best-practise 。你建议中的 test coverage 方面,需要说明一下,该项目大都工具类我都已经其他项目实践过,unit test 也是全 cover 了。当然对你的其他建议,我也会结合项目来做改动,最后,十分感谢你能认真阅读我的代码,同时给出了很好建议。

  • 資深大佬 : anyele

    hutool 不香? 而且为啥用拿 guava 这些库比较,你没看名字带有 Google Apache 吗

  • 資深大佬 : KentY

    @17701762115 我并没认真读你的代码, 只是看了几个 class, 比如那个 DateUtil and the DecimalUtil, 就看到哪说哪. 也不一定对. 反正学习呗.
    – 还有我刚忘了是 DecimalUtil 里还有个 public main, 只是把 void 改成了 int 返回个 0, 不知道是啥意思?
    – 你对”best-practice”这个短语的理解可能有误 我猜你想说”一个好的练习场” 但是那个短语不是这个意思.
    – test 我没看, 只是前面评论说你 coverage 不全. static methods 还挺好 test 的.

  • 資深大佬 : CismonX

    刚点开 README 就发现一个 typo

    > getCurrentDate(),获取当期日志,只包含日期

  • 資深大佬 : Kilerd

    https://github.com/LJWLgl/CommonUtil/blob/master/src/main/java/io/github/ljwlgl/util/NetworkUtil.java#L91

    就单从获取 ip 这个 load 的方法,我就质疑这东西的实用性。 吞掉了所有 Exception,还 sout 出来一个字符串。

  • 主 資深大佬 : 17701762115

    NetworkUtil 是参考了 Cat 内部的实现,我没有做过多的改动,后面我重新梳理一下,把该抛出的异常都会抛出,当然,开源的一部分目的就是接受大家质疑和批评,然后去不够改进,所以多谢你的意见。

  • 主 資深大佬 : 17701762115

    @Kilerd
    NetworkUtil 是参考了 Cat 内部的实现,我没有做过多的改动,后面我重新梳理一下,把该抛出的异常都会抛出,当然,开源的一部分目的就是接受大家质疑和批评,然后去不够改进,所以多谢你的意见。

  • 主 資深大佬 : 17701762115

    @KentY
    – public main 应该测试代码,后面我会移除
    – best-practice 你可以理解成最佳实践,是将重要而又通用的东西独立出来
    – 是的,静态方法都不需要 mock

  • 主 資深大佬 : 17701762115

    @warcraft1236 unit test 我会逐步完善,不过这些我都是在其它项目实践过的,可以放心使用

  • 主 資深大佬 : 17701762115

    @luckyrayyy 哈哈,有志青年应该能提个锤去造轮子,至少能发现发现轮子是这么个造法。另外,此项目还是在初期,如果大家能经验所得一起投入这个项目中,这事还是很有意思的

  • 主 資深大佬 : 17701762115

    @CismonX 需获取到秒可以通过
    DateUtil.stringToDate(DateUtil.dateToString(Calendar.getInstance().getTime(), DateUtil.YYYYMMDDHHMMSS))
    来实现,有臃长,后面我会提供一个 method 出来

  • 主 資深大佬 : 17701762115

    @xiaofan2 哎

  • 資深大佬 : echooo0

    作者别灰心,能把轮子造好本身也是一种能力,加油

  • 主 資深大佬 : 17701762115

    @echooo0 哈哈,谢谢了,我会把这个项目做好的

  • 資深大佬 : chihiro2014

    说 guava 也好,hutool 也罢。你们难道不知道 Spring 自带工具类么!!!

  • 資深大佬 : yiyi11

    没用过 hutool,想了解的时候对 hutool 有个不好的印象,它的项目的 issue 打开数量极少,关闭时间很快。容我冒犯地说一句,就算是开源项目,但这种做法未免有点功利。

  • 資深大佬 : mikulch

    @0x666666 第一次听说,我也去看看。

  • 資深大佬 : JRay

    hutool 最近在用,很舒服啊

  • 資深大佬 : ChanKc

    做工具类也不是不可以,建议做完后拿 guava,Apache 甚至 openJDK 来对答案…这样就知道自己哪里做得不好了

  • 主 資深大佬 : 17701762115

    @ChanKc 是的,Guava 里面代码思想都可以借鉴

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具