一、序言

关于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. Kubernetes实践技巧:升级为集群

    高可用 前面我们课程中的集群是单 master 的集群,对于生产环境风险太大了,非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd.kub ...

  2. 修改 Docker容器 自动启动/不自动启动,挂载路径,存储位置

    有时候创建容器时忘了添加参数 --restart=always,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker conta ...

  3. ELasticsearch忘记密码后重置超级用户密码

    创建一个临时的超级用户TestSuper: [root@cfeea elasticsearch]# ./bin/elasticsearch-users useradd TestSuper -r sup ...

  4. Xcode模拟器simulators安装

    启动Xcode 后打开菜单Xcode->Preferences...再点击Downloads就可以看到Xcode默认支持的iOS各版本 模拟器,如果还没有安装,只需要点击后面的下载箭头标识,Xc ...

  5. 【前端必会】让ESLint与Prettier一起玩耍

    背景 上回说到ESlint和Prettier可能会有规则上的冲突,解决的办法有多种,好比不用Prettier 不用Prettier也是一种选择 配置相同的规则 我们选择一种可以共存的方式 可以参考这篇 ...

  6. 秋初 WAMP 集成环境 v2.1

    基于QT的PHP集成开发环境v2.1 https://gitee.com/xiaqiuchu/wamp-integrated-environment 界面预览 已实现功能 服务的启动.关闭.重启. p ...

  7. JuiceFS 元数据引擎选型指南

    文件系统是我们常见的存储形式,内部主要由数据和元数据两部分组成.其中数据是文件的具体内容,通常会直接展现给用户:而元数据是描述数据的数据,用来记录文件属性.目录结构.数据存储位置等.一般来说,元数据有 ...

  8. uoj131【NOI2015】品酒大会

    题目链接 很容易想到p和q"r相似"就等价于在后缀数组中q与p之间的height值\(\ge r\),也就是说\(<r\)的那些height值会把排好序后的后缀分割成若干段, ...

  9. Linux基础_7_文本显示

    注:实质是针对标准输出文本的各种骚操作! 简单查看 注:初略加工后进行显示. cat -n 文件名 #查看文件内容并显示行号 tac 文件名 #逆序查看 more 文件名 less 文件名 #按?搜索 ...

  10. 7.httpie

    可以使用curl或httpie测试我们的服务器.Httpie是用Python编写的用户友好的http客户端   安装:pip3 install httpie #get请求示例 输入命令:http ht ...