来自网络的吐槽~中国太多低端程序框架造成过多码农

为什么那么多程序员需要天天加班来完成任务呢?这两年从互联网公司离开后,去了企业搞ERP。最大的感受就是,互联网是搞智力的,ERP是搞体力的,码农这词估计就是从这些ERP从业者身上出来的吧。

大部分IT从业者往往注重技术而不注重设计,其实设计比技术要重要多了。我以前写代码从来不会出现nullPointException这个异常的,而且我很少判断对象是否为null,因为我们代码有规定,只有javaBean才能返回null,String必须是空字符串,Number使用0来表示,List为空数组,数据库默认值不能为Null(这个非常重要,很多菜鸟根本不懂数据库设计,反正什么都设置一个默认值Null,造成了大量的null判断),与前端数据交互使用json,通过改写Jackson的StringDeserialize类,把返回的null字符串改为空字符串,非空的使用trim后返回。所以我们平时使用字符串的时候,压根不需要判断什么null,这得节省多少代码量?避免多少坑?

还有比较多的菜鸟喜欢使用诺依框架,那框架就是祸害人的,毫无设计可言,毒害了多少人,多少项目。这诺依凭一己之力把摧毁了rest的设计规范,摧毁了JWT的设计初衷和应用场景,使得网上一堆人说Java开发很臃肿。诺依的设计是,无论什么结果都会返回http状态码200和一个json,json里面又有一个code的字段和message字段,例如{“code”:200,”message”:”修改成功”}。而我的设计是没异常仅仅返回http状态码200。有异常则返回状态码400和json错误提示{“message”:”修改失败:数据库连接失败”},注意我说的状态码是指http状态码,而不是诺依的那个code字段的值。这个才是标准的rest设计规范,可以节省没必要的字符和流量。

JWT的应用场景其实是跨域,垮项目使用的,例如a.qq.com,想要访问b.qq.com的一张图片c.jpg,这张图片属于用户d的。a.qq.com跟b.qq.com是使用不同的数据库和redis的。b.qq.com只保存的图片c.jpg属于用户d这点信息,没有任何用户d的登录信息,那怎么办呢?这时候就需要使用JWT,b.qq.com只需要验证JWT的签名,就可以把图片返回了。而诺依则是选择了脱裤子放屁的设计方式,第一步验证了JWT,第二步从redis获取用户信息。这样的设计跟我直接使用token或者session有什么区别,为什么需要第一步?简直就是浪费cpu跟内存,他可能还没有搞懂什么是数字签名吧。

很多菜鸟使用了诺依框架后就知道缓存就肯定是使用redis,他们可能还不知道什么叫本地缓存吧,一个单体应用都使用redis,搞得程序不但慢,还浪费服务器。

还有csdn上面的druid的配置描述都是错的,误人子弟,改天再写篇文章吐槽一下。大家关注一下我,一起讨论程序设计,而不是程序技术,也可以一起分享一下那些恶心的设计

来自网络的吐槽~中国太多低端程序框架造成过多码农
来自网络的吐槽~中国太多低端程序框架造成过多码农
声明:本站文章,有些原创,有些转载,如发现侵权侵请联系删除。本站所有原创帖均可复制、搬运,开网站就是为了大家一起乐乐,不在乎版权。对了,本站小水管,垃圾服务器,请不要采集,吐槽君纯属用爱发电,经不起折腾。

给TA打赏
共{{data.count}}人
人已打赏
技术宅

这个可以的~有用户发现了一个让IE在Windows 11上继续运行的方法

2022-8-6 12:58:23

技术宅

【万事屋转载】成千上万的黑客正涌向"黑暗公用事业":C2-as-a-Service

2022-8-7 10:18:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索