查看原文
其他

富杂种、穷逼 VIP,那些程序员写在代码里的鄙视

2017-11-21 琥珀 CSDN

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!


这些事情告诉我们,做个程序员,学好英语很重要。



微博上“万精油微博”近日发布的一个段子提到:90 年代有公司要发一批金卡,请市场公司帮忙搜些富人。程序员写程序时给满足条件的富人集合一个暂用名 Rich Bastard(富杂种),写完后忘了改暂用名。结果这个公司发出一大推邮件,“亲爱的富杂种们....”


第一次听见“富杂种”这个词,你什么反应?


啥意思?是“杂种”啊,还是“杂交”啊……


看来,只有写出这段代码的程序员自己才会知道其内涵。


昨日,阿里巴巴旗下虾米音乐 Mac 客户端的一段代码,经昨日业界曝光,朋友圈疯狂转发,称“其中负责该项目的程序员为了让同事看懂这串代码,对该段代码进行了注释,结果出现了如上截图——穷逼 VIP”。 


随后,越来越多的围观者吐露了自己积攒多年的心声:


也有无奈代码注释是怎么就被曝光出来的:


CSDN《免费送我会员还被标注为穷逼 VIP,虾米音乐 App 代码注释曝光》文章,也第一时间为大家解读了如何寻找到“穷逼 VIP(活动送的那种) ”代码注释的详细过程。

实际上,写出这段代码注释的主人也因此背负了巨大的社会压力。


后来,有网友留言调侃道,“还有觉得自己该被当成富杂种却没收到邮件而投诉的”。虽说说着无意但听者有心,程序员工作生活这么“艰苦”(dān diào),怎么就不能给自己找个乐子干了?况且这还是“方便同事看懂代码做的注释”。


为何 Beggar VIP 会被翻译成“穷逼 VIP”?除了严禁的逻辑思维和分析能力,不得不说,编程时的英文语言水平确实是考验一名优秀程序员的第二标准。


编写高质量代码的正确姿势


不得不说,英语是计算机的母语,也是程序的母语,所以最早程序员的母语也是英语。就跟阿拉伯数字全球通用一样,英语编程的流行范围更为广泛。难道写编程不能用中文吗?


很早就有人提到:“高质量的代码应该是这样的:代码基本上是自解释的(self-explanatory),不需要太多注释,不管代码的规模有多大,具有相关知识背景的读过文档的人都可以立刻上手、立刻参与维护和开发。”《代码简洁之道》(The Clean Coder by Robert C. Martin)一书曾建议编程使用更长、更具描述性的变量名与函数名。


作为一名进击中的程序员,此时需要想明白第一个问题——中英文表达的可读性。


从构词法上讲,词根和前后缀共同构成了一个字。英文多用派生法,中文多用复合法。举个简单的例子:tribute - attribute - attribution,通过词根加前后缀的方式,以“贡献”为核心的词义也在不断地延伸、抽象化,可用于描述抽象的关系、动作、事物等。相比来说,中文通常以具体的语素造词,善于描绘事物形象,且一词多义的词汇很多,如“域”对应 field、domain、realm,“块”对应 block、 bulk,“参数”对应 argument、parameter。


基本上,计算机语言本身描绘的都是很抽象的事物,多用中文反而会造成需要很多字才能说清楚一件事情。正如上文案例中的 Beggar VIP 或 Rich Bastard,满足了简洁,却无法满足准确的表达,归根究底,还是用汉语的思维进行英文语言的编程活动。


其次,对于初学者来说,与其一门心思找到高质量的汉语技术书,不如结合着阅读原版的英语技术书。到不一定是书籍译者的水准有待考察,而是因为中英文词义的理解不同,使得因为简单的理解错误而失去方向。


在工作中,程序员接触更多的是手册、文档,因为手册是随着软件版本随时更新的,所以开发人员通常阅读的基本上是一手的英文官方资料或技术标准。此时,有英文阅读障碍的开发人员很容易被其他译本中表达不准确或有歧义的地方误导。


其三,创作都是从模仿开始的,只有大量阅读高质量的代码,才能写出高质量的代码。参看《细数程序员出身的互联网大佬,你会是下一个他吗?


尽管,我们也知道像教父级的人物雷军英文虽差,但同样也写的一手好代码,但这是 20 多年前。当下,当大家基本上都在 Stack Overflow 等优质的国外技术论坛上沟通交流,学习第一手资料时,又有多少人还能成为第二个雷布斯呢?


当然,作为一名程序员(加班狗)来说,基本的英文能力写程序够用就行,而不是非得需要考 GRE、TOFEL 的更高要求。写代码、写代码注释、写文档、进行书面交流,程序员的英文之路才逐步启航。


严格来说,你们有认为“满足条件的富人集合”的正(hé)确(lǐ)表达应该是哪种呢?


A. Rich Bastard

B. Wealth Hybrid

C. The Wealth (meet the conditions)


感兴趣的朋友,可以在文末留言区留出更多你的答案,以及,在那些写代码编程序的日子里,你都写过什么奇葩的注释和代码?

————— END —————

AI 百万级人才缺口:应届生年薪 50 万,没出校门被抢光


作为程序员,你最想要什么礼物?

29 岁电工自学编程行骗,涉案金额高达 1.6 亿

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存