程序员怒了!阿里Antd圣诞彩蛋害我被离职了

栏目: IT资讯 · 发布时间: 5年前

内容简介:欢迎关注“创事记”的微信订阅号:sinachuangshiji文/郭芮

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

欢迎关注“创事记”的微信订阅号:sinachuangshiji

文/郭芮

来源:CSDN(ID:CSDNnews)

无意恶搞的圣诞彩蛋,惨被玩弄的开发者们——Ant Design此致敬上。

每年的12月25日是外国友人们欢庆圣诞的热闹日子,但是今年的圣诞却给很多Antd 开发者带来了莫大惊吓。

Antd即 Ant Design,是阿里蚂蚁金服开源的一套企业级的UI设计语言和React实现,因提供了完整的类型定义文件、自带提炼自企业级中后台产品的交互语言和视觉风格、开箱即用的高质量React组件与全链路开发和设计 工具 体系等功能优势而备受开发者青睐。

这次惹起争议的就是 Antd 库中暗藏的圣诞彩蛋——一个不曾提前告知、无法手动禁止、并且“潜伏”了106天之久的按钮“惊喜”,打得开发者们措手不及。更有甚者,因为很多政府项目、军事项目、宗教项目等严肃场景中也一个不落地中了招,导致许多项目方遭遇客户投诉,开发者们背锅被裁。

1

一触即发!一个“俏皮”的积雪效果按钮引发开发者危机

那这个所谓的圣诞彩蛋究竟是指什么?其实就是一个带有积雪特效的按钮,以及一个“HoHoHo!”的提示。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

const now = new Date();

const isChristmas = now.getMonth() === 11 && now.getDate() === 25;

const classes = classNames(prefixCls, className, {

[`${prefixCls}-${type}`]: type,

[`${prefixCls}-${shape}`]: shape,

[`${prefixCls}-${sizeCls}`]: sizeCls,

[`${prefixCls}-icon-only`]: !children && icon,

[`${prefixCls}-loading`]: loading,

[`${prefixCls}-background-ghost`]: ghost,

[`${prefixCls}-two-chinese-chars`]: hasTwoCNChar,

[`${prefixCls}-block`]: block,

christmas: isChristmas,

});

const iconType = loading ? 'loading' : icon;

const iconNode = iconType ? <Icon type={iconType} /> : null;

const kids = (children || children === 0)

? React.Children.map(children, child => insertSpace(child, this.isNeedInserted())) : null;

const title= isChristmas ? 'Ho Ho Ho!' : rest.title;

这是源码,title完全被hohoho覆盖(来源:Github,@133922249)

今天早上,GitHub、微博、知乎等平台的开发者都一边倒地对这个未曾事先告知的圣诞彩蛋进行了批判吐槽。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

而且,因为是无法手动禁用的,很多开发者就只能自力更生地思考解决方法。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

但是波及的范围远远不止于此,很多开发者、项目方也备受牵连。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

——这次的闹剧或许可以称之为中国开发者的圣诞“劫”了。

2

106天的“潜伏”!这个未曾事先告知的圣诞彩蛋从何而来?

那么这个“圣诞彩蛋”到底来自哪位之手?知乎用户、蚂蚁金服前端工程师@偏右悄悄地主动认领了。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

他表示,这个Ant Design圣诞彩蛋起源今年9月10日的一次提交(https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a),代码实现会在12月25日当天给所有按钮添加积雪效果,并增加`HoHoHo!`的浏览器默认提示信息。他还表示,这完全是他“个人的一意孤行且愚蠢的决定”。

此外他还提到,这一“彩蛋”的影响范围是 Ant Design 3.9.3、3.10.0~3.10.9、3.11.0~3.11.5版本,并且目前已经发布了修订版本3.9.4、3.10.10、3.11.6,更新至相应的版本即可修复,使用了语义化版本的直接重新安装node_modules并重新下载即可。

最后他郑重强调,代码里已经没有其他的彩蛋了!未来也会继续接受开发社区的监督。但是开发者们显然不是很买账,仍然颇有微词。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

不管怎样,Antd作为业内领先的前端组件库之一,此次却无视不同文化、政治背景乃至于宗教信仰的因素,强行上演这么一出“强买强卖”的乌龙事件,毫无疑问会让开源社区的信任度大打折扣。

3

Antd的争议:开源社区的信任危机

圣诞落幕,闹剧收场,但是一地鸡毛背后,关于开源社区的生存现状探讨却更加引人深思了。

“开源本来就脆弱,还造出这么一个乌龙。”在《Opensourceconfrontsitsmidlifecrisis》一文中,作者BryanCantrill就提到了,开源正在面临中年危机,而那些以开源软件为生存之本的公司都将会面临信任危机——这次的 Antd事件也只是一个缩影罢了。

不过同时,信任危机的产生也离不开开发者和社区的推波助澜。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

程序员怒了!阿里Antd圣诞彩蛋害我被离职了

因此无论如何,开源如今已二十,还请开发者和社区们不要绑架了这个词。

注:文中图片来源于网络。

程序员怒了!阿里Antd圣诞彩蛋害我被离职了


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Imperfect C++中文版

Imperfect C++中文版

威尔逊 / 荣耀、刘未鹏 / 人民邮电出版社 / 2006-1 / 75.0

汇集实用的C++编程解决方案,C++虽然是一门非凡的语言,但并不完美。Matthew Wilson使用C++十年有余,其间发现C++存在一些固有的限制,需要一些颇具技术性的工作进行弥补。本书不仅指出了C++的缺失,更为你编写健壮、灵活、高效、可维护的代码提供了实用的技术和工具。Wilson向你展示了如何克服C++的复杂性,穿越C++庞大的范式阵列。夺回对代码的控制权,从而获得更理想的结果。一起来看看 《Imperfect C++中文版》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具