帝游网提供最新手游APP下载和游戏攻略!

谷歌也害怕了,诸如“黑名单”之类的表述正在逐渐从各大公司的源代码中消失。

发布时间:2024-10-19浏览:21

大家好,关于谷歌也害怕了,诸如“黑名单”之类的表述正在逐渐从各大公司的源代码中消失。很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

美国和欧洲的“黑人命也是命”运动愈演愈烈。本周的消息显示,谷歌决定放弃在Chrome浏览器中使用“黑名单”和“白名单”,而将使用“黑名单”和“白名单”来取代它们。

这些国家的开发者正在努力摆脱“消极”的编码术语,并希望“让世界变得更加友善”。 “主从”、“黑名单-白名单”等表述将逐渐从源代码中消失。

从源代码中消除负面术语

过去几周,由于弗洛伊德事件,以美国为主的一些国家不断举行抗疫活动,支持“黑人生命也是命”运动。软件领域的积极分子也希望借此机会采取行动,表达消除种族压迫的决心和意愿。

周一,来自微软的程序员兼教育家Scott Hanselman 发表了一篇博文,呼吁人们消除Git 版本控制软件创建的代码库中常见的“主”分支表示,以表达软件行业对抗议的支持束缚。

他写道,“互联网工程任务组(IEFT)认为,主从是一种压抑的隐喻,这种表述背后有着深刻的历史印记。因此,无论从技术层面还是历史角度,都不应该使用这样的说法。”令人反感的隐喻。”

“结合实际来看,还有很多更准确的表述可供选择。改变表述不会产生任何实际成本,甚至可能让更多新人加入,感受到科技行业的平等态度。”

该提案最初出现在2018 年IETF 草案中,要求开源软件更改“主从”和“黑名单-白名单”的表述方式。同年,Redis(当然还有Rails)和Python开发团队开始消除“主从”表述。

鉴于这种情况,谷歌也在很大程度上表示了支持。据报道,谷歌从2018年开始刻意避免使用“黑名单”一词,但“黑名单”一词仍然存在于Chrome浏览器的后端源代码中。

周一,Chromium 代码进行了最新的提交,并且Components/blacklist 目录中的类名已重命名为Components/blocklist。谷歌已从最终用户可见的所有位置删除了“黑名单”和“白名单”,分别替换为“阻止名单”和“允许名单”。此更改包括所有类/方法/成员/变量重命名。

据了解,Chrome源代码中约有2000处地方涉及“黑名单”。这种改变并不是简单的“查找-替换”。更改源代码还需要进行测试,看看是否会产生错误。这需要谷歌程序员做大量的工作,目前还不确定什么时候能完成。

不止谷歌一家作出了改变

Google 当然不是唯一一家主动解决歧视性代表问题的公司。

今年1 月,Pivotal 的LicenseFinder 开始将“白名单”转换为“允许的许可证”。

Box 目前正在讨论全面使用“允许名单”和“拒绝名单”表达式。

Elixir 大约一周前清除了这部分语言。

OpenShift 四天前合并了一个拉取请求,以更新所有相关文档。

Yelp 大约两周前更改了其关键扫描代码,osquery 项目的术语更改工作也在进行中。

在回应有关措辞更改的帖子时,GitHub 开发人员、Git 存储库贡献者Brian Golson 表达了对这些更改的支持。他愿意负责审查语言变化可能对Git 源代码产生的影响,但强调这项工作对他来说太密集了,无法独自完成。

“看起来如果我们直接逐行更改buildin/init-db.c,可能会导致304 次测试失败,大约占测试失败总数的三分之一,”他说。

GitHub 方面,GitHub CLI 在两周前将“master”的表达方式替换为“trunk”,GitHub Desktop 软件早在2019 年就完成了相关替换。

虽然得到了普遍的支持,但一些批评者指出,Git 对“master”的理解更多地来自于发音而不是含义(设备网络中的主从描述没有任何奴性)。此外,“大师”的内涵非常丰富,在特定专业领域可以作为中性词自由使用。

除了种族表达之外,谷歌的包容性编码指南还密切关注性别表达,强调应尽可能避免使用与性别相关的独特表达。例如,该指南建议开发者避免使用性别代词“他”;然而,当“he”代表氦气时,希伯来语中的ISO 639-1语言代码,或西班牙语动词“Haber”在第一人称形式中没有问题。

汉塞尔曼承认,单纯改变描述并不能改变历史,也不能减少人们心中的种族主义思想。他在推特上指出,“我们所做的一切只是为了让世界变得更加友善。”

Python 和 Redis 也曾摊上事儿

事实上,早在2018年,互联网工程任务组(IEFT)就提出了一份草案,要求更改“主从”和“黑名单-白名单”的表述。编程语言Python和开源Redis数据库在同一年做出了回应,逐渐从文档和API中消除了有关“主”和“从”的技术术语。

在Python方面,由于社区的投诉(具体细节尚未公开),项目管理团队决定在2018年9月完全替换“master”和“slave”这两个术语。同时,负责的管理员为了监督GitHub平台上的CPython代码库,还锁定了pull request,以便清除相关语句并删除一些评论。

Python核心开发者Victor Stinner在之前的评论中指出,很多人反对这种明显从属关系的表达,因此最好将“主”和“从”这两个术语与广泛使用的编程语言分开。出去。

与此同时,开源内存数据库Redis也遇到了类似的“主从”问题。 2018 年,Redis 创建者Salvatore Sanfilippo 发表了一篇博文,其中提到他因没有清除Redis 5.0 RC5 中的“主”和“从”表达式而受到开发人员的批评。此前,相关争议就已存在。

Sanfilippo 表示,他无意替换Redis 中的措辞,但批评人士称他这样做是“法西斯主义”。这个标签显然是为了激怒他,因为他的家人在第二次世界大战期间受到意大利法西斯分子的迫害。

他写道,“最重要的问题是,每个术语原则上都有令人反感的方面。但表达方式是多种多样的,我不想禁止某些有争议的词语,随着时间的推移,它变得越来越中性。”他还对开发商的蜂拥而至的批评表示反对,强调“在如此混乱的环境下不可能进行任何有意义的讨论”。

但在随后的实际传播和推特调查中,他发现共有6242名关注者参与了他的调查推文,其中53%建议使用更温和的表达方式来代替“主人”和“奴隶”。大多数人都发声了,他认为反对派已经不能再被忽视了。

在随后的GitHub 帖子中,他解释说,他计划采取行动,防止他的个人观点影响其他人使用Redis 的意愿。

不到一周后,他又发推文称,删除Redis文档中“主从”表述的工作已经基本完成,API中只剩下一些难以清晰的文字。

Drupal 和Django 等其他开源社区也发生了类似的运动。 2017年,Kubernetes项目确认将全面调整语言表达。在开源Helm项目中,管理团队承认“大师”这个词本身就有些冒犯性。因此,“主图”现已更名为“伞图”。

大家怎么看?

中国程序员对“黑名单”的变化表示不理解:

以后前端开发不能再用黑/白来代替彩色,必须用#000和#fff。

开源软件把blacklist改为blocklist,那么如何恰当的表达对应的红黑树呢?

毕竟,黑名单是为了表达禁止,对人权不够尊重。应改为yamadeList。

等等,“Black Lives Matter”中的“黑人”这个词应该被其他词代替吗?

但仅仅因为一个词性问题,就需要大费周折去进行一些影响全身的修改吗?目前看来,还需要更加慎重的考虑。如果因为一些批评者的评论而修改细节甚至源代码,是否会影响到更多尚未发声的实际用户?

您如何看待这些变化?欢迎在评论里留言!

推荐JavaScript经典实例学习资料文章

《淘宝8年案例解读大厂如何开发和部署前端代码》

《「图文」V8 垃圾回收原来这么简单?》

《Webpack 5模块联邦引发微前端的革命?》

《基于 Web 端的人脸识别身份验证「实践」》

《「前端进阶」高性能渲染十万条数据(时间分片)》

《「前端进阶」高性能渲染十万条数据(虚拟列表)》

《图解 Promise 实现原理(一):基础实现》

《图解 Promise 实现原理(二):Promise 链式调用》

《图解 Promise 实现原理(三):Promise 原型方法实现》

《图解 Promise 实现原理(四):Promise 静态方法实现》

《实践教你从零构建前端 Lint 工作流「干货」》

《高性能多级多选级联组件开发「JS篇」》

《深入浅出讲解Node.js CLI 工具最佳实战》

《延迟加载图像以提高Web网站性能的五种方法「实践」》

《比较 JavaScript 对象的四种方式「实践」》

《使用Service Worker让你的 Web 应用如虎添翼(上)「干货」》

《使用Service Worker让你的 Web 应用如虎添翼(中)「干货」》

《使用Service Worker让你的 Web 应用如虎添翼(下)「干货」》

《前端如何一次性处理10万条数据「进阶篇」》

《推荐三款正则可视化工具「JS篇」》

《如何让用户选择是否离开当前页面?「JS篇」》

《JavaScript开发人员更喜欢Deno的五大原因》

《仅用18行JavaScript实现一个倒数计时器》

《图文细说JavaScript 的运行机制》

《一个轻量级 JavaScript 全文搜索库,轻松实现站内离线搜索》

《推荐Web程序员常用的15个源代码编辑器》

《10个实用的JS技巧「值得收藏」》

《细品269个JavaScript小函数,让你少加班熬夜(一)「值得收藏」》

《细品269个JavaScript小函数,让你少加班熬夜(二)「值得收藏」》

《细品269个JavaScript小函数,让你少加班熬夜(三)「值得收藏」》

《细品269个JavaScript小函数,让你少加班熬夜(四)「值得收藏」》

《细品269个JavaScript小函数,让你少加班熬夜(五)「值得收藏」》

《细品269个JavaScript小函数,让你少加班熬夜(六)「值得收藏」》

《深入JavaScript教你内存泄漏如何防范》

《手把手教你7个有趣的JavaScript 项目-上「附源码」》

《手把手教你7个有趣的JavaScript 项目-下「附源码」》

《JavaScript 使用 mediaDevices API 访问摄像头自拍》

《手把手教你前端代码如何做错误上报「JS篇」》

《一文让你彻底搞懂移动前端和Web 前端区别在哪里》

《提高你的 JavaScript 技能10 个问答题》

《JavaScript图表库的5个首选》

《一文彻底搞懂JavaScript 中Object.freeze与Object.seal的用法》

《可视化的 JS:动态图演示 - 事件循环 Event Loop的过程》

《教你如何用动态规划和贪心算法实现前端瀑布流布局「实践」》

《可视化的 js:动态图演示 Promises Async/Await 的过程》

《原生JS封装拖动验证滑块你会吗?「实践」》

《如何实现高性能的在线 PDF 预览》

《细说使用字体库加密数据-仿58同城》

《Node.js要完了吗?》

《Pug 3.0.0正式发布,不再支持 Node.js 6/8》

《纯JS手写轮播图(代码逻辑清晰,通俗易懂)》

《JavaScript 20 年 中文版之创立标准》

《值得收藏的前端常用60余种工具方法「JS篇」》

《箭头函数和常规函数之间的 5 个区别》

《通过发布/订阅的设计模式搞懂 Node.js 核心模块 Events》

《「前端篇」不再为正则烦恼》

《「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能》

《深入细品浏览器原理「流程图」》

《JavaScript 已进入第三个时代,未来将何去何从?》

《前端上传前预览文件 image、text、json、video、audio「实践」》

《深入细品 EventLoop 和浏览器渲染、帧动画、空闲回调的关系》

《推荐13个有用的JavaScript数组技巧「值得收藏」》

《前端必备基础知识:window.location 详解》

《不要再依赖CommonJS了》

《犀牛书作者:最该忘记的JavaScript特性》

《36个工作中常用的JavaScript函数片段「值得收藏」》

《Node + H5 实现大文件分片上传、断点续传》

《一文了解文件上传全过程(1.8w字深度解析)「前端进阶必备」》

《【实践总结】关于小程序挣脱枷锁实现批量上传》

《手把手教你前端的各种文件上传攻略和大文件断点续传》

《字节跳动面试官:请你实现一个大文件上传和断点续传》

《谈谈前端关于文件上传下载那些事【实践】》

《手把手教你如何编写一个前端图片压缩、方向纠正、预览、上传插件》

《最全的 JavaScript 模块化方案和工具》

《「前端进阶」JS中的内存管理》

《JavaScript正则深入以及10个非常有意思的正则实战》

《前端面试者经常忽视的一道JavaScript 面试题》

《一行JS代码实现一个简单的模板字符串替换「实践」》

《JS代码是如何被压缩的「前端高级进阶」》

《前端开发规范:命名规范、html规范、css规范、js规范》

《【规范篇】前端团队代码规范最佳实践》

《100个原生JavaScript代码片段知识点详细汇总【实践】》

《关于前端174道 JavaScript知识点汇总(一)》

《关于前端174道 JavaScript知识点汇总(二)》

《关于前端174道 JavaScript知识点汇总(三)》

《几个非常有意思的javascript知识点总结【实践】》

《都2020年了,你还不会JavaScript 装饰器?》

《JavaScript实现图片合成下载》

《70个JavaScript知识点详细总结(上)【实践】》

《70个JavaScript知识点详细总结(下)【实践】》

《开源了一个 JavaScript 版敏感词过滤库》

《送你 43 道 JavaScript 面试题》

《3个很棒的小众JavaScript库,你值得拥有》

《手把手教你深入巩固JavaScript知识体系【思维导图】》

《推荐7个很棒的JavaScript产品步骤引导库》

《Echa哥教你彻底弄懂 JavaScript 执行机制》

《一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧》

《深入解析高频项目中运用到的知识点汇总【JS篇】》

《JavaScript 工具函数大全【新】》

《从JavaScript中看设计模式(总结)》

《身份证号码的正则表达式及验证详解(JavaScript,Regex)》

《浏览器中实现JavaScript计时器的4种创新方式》

《Three.js 动效方案》

《手把手教你常用的59个JS类方法》

《127个常用的JS代码片段,每段代码花30秒就能看懂-【上】》

《深入浅出讲解 js 深拷贝 vs 浅拷贝》

《手把手教你JS开发H5游戏【消灭星星】》

《深入浅出讲解JS中this/apply/call/bind巧妙用法【实践】》

《手把手教你全方位解读JS中this真正含义【实践】》

《书到用时方恨少,一大波JS开发工具函数来了》

《干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React)》

《手把手教你JS 异步编程六种方案【实践】》

《让你减少加班的15条高效JS技巧知识点汇总【实践】》

《手把手教你JS开发H5游戏【黄金矿工】》

《手把手教你JS实现监控浏览器上下左右滚动》

《JS 经典实例知识点整理汇总【实践】》

《简单几步让你的 JS 写得更漂亮》

《恭喜你获得治疗JS this的详细药方》

《谈谈前端关于文件上传下载那些事【实践】》

《面试中教你绕过关于 JavaScript 作用域的 5 个坑》

《Jquery插件(常用的插件库)》

《【JS】如何防止重复发送ajax请求》

《JavaScript+Canvas实现自定义画板》

用户评论

安好如初

终于看到这个标题!我早就不太喜欢那些“ blacklist”一词,总觉得像对待人似的把东西划分为好坏,很不尊重开源精神啊。

    有11位网友表示赞同!

玩味

这应该是好事吧?毕竟技术应该更加开放、透明,互相学习改进。这样才能推动整个行业进步。

    有20位网友表示赞同!

未来未必来

我觉得谷歌的这个决策挺好的。之前太多公司把“ blacklist”当成一种工具来屏蔽竞争对手产品或者技术,很不公平!

    有17位网友表示赞同!

鹿先森,教魔方

其实我更在意的是为什么 "blacklist"这些词会开始消失?是因为越来越多的开发者意识到这种做法是不合理的,还是因为其他原因呢?

    有9位网友表示赞同!

爱情的过失

公司开发黑名单的目的是为了保护用户数据安全吗?我还是觉得开源、透明才是最终目标!

    有13位网友表示赞同!

不识爱人心

这真是太棒了!希望所有科技巨头都能效仿谷歌,摒弃那些不合理的“ blacklist”。让我们共同打造一个更加开放和包容的科技世界。

    有11位网友表示赞同!

心已麻木i

我同意这个观点,科技进步不应该阻碍开发者的互相学习和协作。 "blacklist"这类词汇确实让人感觉不舒服。

    有19位网友表示赞同!

棃海

这可能是技术发展的一个趋势吧?随着人工智能的发展, belki 也许会有新的方式来代替“ blacklist”。

    有6位网友表示赞同!

有一种中毒叫上瘾成咆哮i

我不明白为什么谷歌要这样做! “blacklist” 虽然听起来不太友好,但有时候也是为了防止恶意攻击或者保护用户隐私啊。

    有12位网友表示赞同!

有你,很幸福

我觉得这只是一个小转变而已,不会对软件开发产生很大的影响。科技发展的趋势是更开放、透明的,这是必然的趋势。

    有20位网友表示赞同!

还未走i

“ blacklist” 确实存在很多争议,希望谷歌在这个决策中能够慎重考虑各个方面的因素,做出最终的判断。

    有5位网友表示赞同!

淡抹烟熏妆丶

我很赞赏谷歌这种转变的态度! 这或许是一个新的时代,所有技术公司都应该更加积极地拥抱开源共享,共同进步!

    有15位网友表示赞同!

←极§速

但我觉得只是删除了“blacklist”这样的词语可能并不能真正解决问题。还需要更多的行动来确保开发者之间的合作和互利共赢。

    有15位网友表示赞同!

陌上蔷薇

谷歌这样做是不是有点草率?没有一个替代方案吗? "blacklist" 如果应用得当,确实可以起到保护用户的作用啊

    有10位网友表示赞同!

杰克

我觉得这是一个值得探讨的话题。未来软件开发的趋势究竟应该是更加开放,还是需要一些过滤机制来保护用户数据安全? 我对此感到疑惑!

    有12位网友表示赞同!

闲肆

谷歌的做法让我想起了曾经发生过的一些开源项目被恶意攻击的情况。 删除“ blacklist” 一类的词语是解决问题的根本吗?

    有20位网友表示赞同!

苏樱凉

这确实是一个令人好奇的现象,我期待看到更多关于这个问题的研究和讨论,希望能找到一个更加科学、合理的解决方案!

    有18位网友表示赞同!

哥帅但不是蟋蟀

我不认为仅仅通过删除词汇就能彻底改变现状。更重要的是,科技公司应该制定更透明、更公平的开源规则,引导开发者走向合作共赢的方向。

    有8位网友表示赞同!

热点资讯