一、序言

关于HuTool工具包,相信很多技术朋友都听说甚至使用过。在HuTool之前,已经有比较成熟的工具包比如Apache Common包,谷歌推出的Guava包,他们已经在全世界大范围使用了。

究竟是什么原因导致HuTool有后来居上的趋势,传统的工具包对于国内开发者来讲劣势在哪里呢,不妨来扒一扒。

二、HuTool的优势

1、代码风格符合国人的开发习惯

关于编码习惯,国内、国外开发者是有一定的差异的。传统的底层框架,几乎是清一色国外开发者贡献的,如果没有一定的代码阅读语感,很难进入状态,源代码阅读比较别扭。

2、全中文文档 阅读零门槛

随着全民编程的盛行,编程年轻化的趋势愈发明显,青少年英语能力尚有待进一步提高,但是又有阅读文档的需求,此时有中文文档的HuTool的优势显现出来,让那些即使英语能力薄弱的开发者也能够愉快的编码。

传统工具包全英文的劣势凸显出来。

3、工具方法多 接地气

包罗万象的工具方法,化身小超人,无所不能。特别是像生成二维码这样的小工具包,特别接地气。

三、使用HuTool的目的

1、学习

HuTool是非常适合初学者学习的,demo场景丰富,注释丰富,非常适合初学者入门Java学习。

2、上线需谨慎

正所谓学以致用,学完如果立刻拿到线上的话,需要谨慎对待。小项目、个人项目使用到无妨,正儿八紧项目,不妨先缓缓,看看其它成熟框架有没有类似的实现。

四、知名的代码事故

1、7行代码让B站崩溃3小时

7行代码让B站崩溃3小时,直接经济损失上亿事件,让我们认识到,除了基本功能实现外,代码健壮性变得越来越重要。更详细的内容,视频直达。

HuTool代码由于贡献者参差不齐,更多关注基本功能实现,而对代码健壮性没有提出硬性要求。导致的直接后果是,很多功能看起来很棒,实际使用时很容易因健壮性薄弱而入坑。

遗憾的是,对于很多只关心一两个测试用例,便完成代码开发的人,很难识别出健壮性问题。新人小白更难识别健壮性问题了,无形中给一线生产代码带来机制上的技术债

2、Apache日志事件

再来看一个使用传统工具包发生事故的对比。日志门事件相信大家记忆犹新,席卷全世界。当我们在项目中使用知名框架是,哪怕中彩票出现问题,那么有超级大佬在前面顶着,对于普通的中小公司来说,在线等解决方案即可,无需投入更多的技术力量来修复Bug。具体参考日志门事件的处理逻辑。

大框架由于广泛的用例测试,并且有相应的白帽子重点跟踪,因框架本身而出现Bug对于普通使用者来说是极低的事件。使用起来比较安心。

五、小结

本文从一线开发的角度聊了聊HuTool工具包,相信国产开源会越做越好。同时框架维护者应当意识到健壮性不足的代码被广泛使用后对一线生产带来的冲击,给整个Java生态带来的隐形技术债的隐藏大雷。

本文有视频版,欢迎广泛技术朋友交流看法。

如何理性看待国内大热的HuTool工具包的更多相关文章

  1. 为什么前两年大热的VR创业突然冷了?

    不得不说,如果不是<头号玩家>在国内的热映,人们似乎都要忘记VR这个行业了.<头号玩家>中那些带有极强真实色彩的游戏,其实就是VR进化的目标,甚至是巅峰!而里面的角色佩戴的设备 ...

  2. 深入解析当下大热的前后端分离组件django-rest_framework系列四

    查漏补缺系列 解析器 request类 django的request类和rest-framework的request类的源码解析 局部视图 from rest_framework.parsers im ...

  3. 深入解析当下大热的前后端分离组件django-rest_framework系列一

    前言 Nodejs的逐渐成熟和日趋稳定,使得越来越多的公司开始尝试使用Nodejs来练一下手,尝一尝鲜.在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线.将浏览器中为用户进行页面展 ...

  4. 盘点当下大热的7大Github机器学习创新项目

    哪个平台有最新的机器学习发展现状和最先进的代码?没错——Github!本文将会分享近期发布的七大GitHub机器学习项目.这些项目广泛覆盖了机器学习的各个领域,包括自然语言处理(NLP).计算机视觉. ...

  5. Javascript之十大常用原理性样例大总结

    案例一:全选等 运用知识点:ondblclick=()| onclick | 寻找标签属性及判断和函数的应用

  6. 跟王思聪热狗图一样大热的Redis,还不赶紧来Get一下?

    前言 不禁喊出一句ig牛逼!哈哈哈 这个话题是不是有点过时了?但说到Redis,真的是被强行灌输的,到处都会被安利Redis,吓得只会mysql和oracle的我,赶紧去get一波.. 数据库种类 关 ...

  7. 目前大热的AI和SLAM的职业发展的想法

    目前,AI的研究和SLAM的发展已经走到使用领域.还记得三年前,上<信息光学>的老师在课上提到,他有一个研究生买了一个两万块的笔记本,还要出国去研究人工智能,当时听着认为这位学长很疯狂.可 ...

  8. 深入解析当下大热的前后端分离组件django-rest_framework系列三

    三剑客之认证.权限与频率组件 认证组件 局部视图认证 在app01.service.auth.py: class Authentication(BaseAuthentication): def aut ...

  9. 深入解析当下大热的前后端分离组件django-rest_framework系列二

    视图三部曲 一部曲 · 使用混合(mixins) 上一节的视图部分: from rest_framework.views import APIView from rest_framework.resp ...

  10. AJ学IOS(15)UI之曾经大热的打砖块小游戏

    AJ分享,必须精品 先看效果图 代码 // ViewController.m // 打砖块 // // Created by liufan on 13-8-17. // Copyright (c) 2 ...

随机推荐

  1. Fluentd采集示例

    Fluentd通过读取配置文件来加载各插件,日志经由各插件的处理完成输入到输出的整个路由. 本文通过一个最简单的示例来说明配置文件的结构.td-agent.conf默认位于/etc/td-agent/ ...

  2. 【BotR】CLR堆栈遍历(Stackwalking in CLR)

    前言 在上一篇文章CLR类型系统概述里提到,当运行时挂起时, 垃圾回收会执行堆栈遍历器(stack walker)去拿到堆栈上值类型的大小和堆栈根.这里我们来翻译BotR里一篇专门介绍Stackwal ...

  3. 我的Vue之旅、05 导航栏、登录、注册 (Mobile)

    第一期 · 使用 Vue 3.1 + TypeScript + Router + Tailwind.css 构建手机底部导航栏.仿B站的登录.注册页面. 代码仓库 alicepolice/Vue-05 ...

  4. NSIS查找文本中是否包含某个字串

    !include "textfunc.nsh"!include "logiclib.nsh"OutFile "find.exe"#文本文件a ...

  5. 萌新也能看懂的KMP算法

    前言 算法是什么?算法就是数学规律.怎么去总结和发现这个规律,就是理解算法的过程. KMP算法的本质是穷举法,而并不是去创造新的匹配逻辑. 以下将搜寻的字符串称为子串(part),以P表示.被搜寻的字 ...

  6. CRT & EXCRT 学习笔记

    这玩意解决的是把同余方程组合并的问题. CRT的核心思想和拉格朗日插值差不多,就是构造一组\(R_i\)使得$\forall i,j(i \neq j) $ \[R_im_i = 1, R_im_j ...

  7. Linux中CentOS 7的安装及Linux常用命令

    1. 前言 什么是Linux Linux是一套免费使用和自由传播的操作系统.说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作系统. 为什么 ...

  8. 后端框架学习-----mybatis(4)

    文章目录 4.解决属性名和字段名不一致的问题 4.解决属性名和字段名不一致的问题 1.问题.数据库字段名和属性名不一致,导致查出的数据部分为空 2.resultMap(用于解决数据库表中的字段和属性) ...

  9. Vue学习之--------组件嵌套以及VueComponent的讲解(代码实现)(2022/7/23)

    欢迎加入刚建立的社区:http://t.csdn.cn/Q52km 加入社区的好处: 1.专栏更加明确.便于学习 2.覆盖的知识点更多.便于发散学习 3.大家共同学习进步 3.不定时的发现金红包(不多 ...

  10. numpy(ndarray)和tensor(GPU上的numpy)速查

    类型(Types) Numpy PyTorch np.ndarray torch.Tensor np.float32 torch.float32; torch.float np.float64 tor ...