LWN:代码中的幽默以及包容性!

共 2210字,需浏览 5分钟

 ·

2021-07-07 20:10

关注了就能看到更多这么棒的文章哦~

Code humor and inclusiveness

By Jonathan Corbet
June 11, 2021
DeepL assisted translation
https://lwn.net/Articles/857765/

开发自由软件,有些情况下其实是纯粹为了自己开心。甚至数据库管理系统(database-management system)的开发者似乎也认为这是一种乐趣,这真是很奇怪了,似乎没法解释这种品味。这些乐趣的一部分当然是来自编写代码的时候可以偶尔锻炼一下自己的幽默感。但是,正如最近的一些 "fix" 所展示的那样,幽默并不总是能被全球各地的开发者所接受的。调整幽默感和包容性从而达到平衡,这对我们的社区来说是一个永恒的挑战。

kernel scheduler 有一个功能,如果什么事情不正常了,它将通知用户有一个错误发生了,描述信息为 "arch topology borken"。当然,这个信息的清晰程度令人叹为观止,用户在看到它的时候会立即知道该怎么做。但最近,有一个很用心的开发者发送了一个补丁,将该信息改为 "broken"。这个 patch 没有被接受,但它确实引发了一个简短的讨论,从而向 patch 作者解释了这个笑话的性质。

第二天,又有人试图修复另一段含有 "histerical raisins" 注释的 scheduler 代码。这一次,提交者被提醒要去网上搜索一下什么是 "humour",这个建议就不那么有效了。其他的例子比比皆是。其中一个更有趣的是发生在去年,有一个开发者认为某个文档(https://elixir.bootlin.com/linux/v5.12.8/source/Documentation/RCU/RTFP.txt)的标题(Read the Fscking Papers!)需要改正拼写,当时得到的回复是一个礼貌地拒绝,回复者鼓励发帖者说:"rest assured that you did get [the] point! "。

任何曾经认真尝试过用非母语来工作的人都明白,humour(幽默)很多时候很难领会。幽默与它所使用的语言以及它所处的具体环境都有很大关系。流利地使用母语的人觉得有趣的词,对于那些对此语言不太熟练的人来说,可能根本就没有感觉。而试图用非母语的语言来开玩笑的话,结果也并不总是美好的。编者就很难让那些以英语为母语的人笑出来,因此我很清楚在其他场合下最好不要进行这种尝试。

源代码需要达到精确和可理解的标准。当代码本身不足以解释为什么要采取一个特定的行为时,就会需要注释。而当这些注释包含文字游戏、创造性的拼写错误、或者充满行话的内部笑话时,它们对于那些可能对简单的英语书写都得费力理解的人来说,就会变得更加难懂。这些读者会被有关的语言问题所困扰,然后他们中的一些人可能会采取行动试图去 "fix" 这些注释。结果就会在一定程度上造成混乱,以及时间损失。

一个可能的解决方案就是消除这种文字游戏,因为这是对全球自由软件发展的阻碍。正如 Zhen Lei 在上面提到的第一个讨论中所说的那样:"Linux 是面向全世界的开源代码,所以最好使用一个更常见的词"。如果我们坚持使用常见词汇,那么就会更少发生困惑,也会有更少的针对这些幽默词句的 "fix",而且可能整体上会有更好的参与度。

但是,请记住,自由软件的开发,除了要给出有用的东西之外,还应该是有趣的,这也是我们许多人最初进入这个领域的原因之一。把一个自由软件项目变成一个没有幽默感的地方的话,会使它明显地缺乏乐趣,这本身也同样可以被看作是一个包容性的问题。也就是说,一个病情的相应治疗方法可能会比这个病情本身更糟糕。

幸运的是,还没有人提出这样的请求。我们中的大多数人都同意,只有在大量代码阅读过程中带有一点让人会心一笑的东西,这样才能让生活更美好。如果运气好的话,我们的代码仍将继续获得一些偶发的评论,让人明白我们并没有活得太过于严肃。

但这也意味着我们将继续偶尔收到来自读者的 "fix",他们无法理解某个幽默的巧妙之处,并希望以某种方式将其纠正过来。这些将是证明我们确实没有活得太严肃的最好机会。如果一位感觉到自己时间被浪费的开发者给出了粗暴的回应,就可能会把一个有心贡献的开发者拒之门外,而我们更应该把他留下。一个善意的回应,以及进行解释时恰当的措辞,都会帮助贡献者来欣赏这个幽默,提高他们的语言技能,并使他们在未来的某一天也可能会在自己的有用代码中嵌入一些幽默进去。而其他默默注视着对话的人,也可能从中受益。

无论是好事还是坏事,英语都是自由软件开发社区的通用语言。虽然英语不是我们大多数贡献者的母语,而且这些贡献者中有些人有时还要努力才能理解英语。但是,只要有一些耐心,我们也可以拥有我们自己的代码,并被它逗得哈哈大笑。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~



浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报