据说平均下来,
程序员会有10%的时间花在取名字上。

今天和俊儒聊天的时候,
讲到了在知乎上看的,
《扩散性百万亚瑟王》为什么停运的原因:

ma

这种等级的中二程序员的确可以留名青史了…
大型程序一般都是团伙作案,
所以“写出逻辑清晰、见文知意”的程序,
也是一个程序员的必备技能。

按照正常文章的套路走,
这里我们要介绍一下,
绝大多数的计算机词语是有唯一的中英对照的:

服务器 - Server
表 - Table
事务 - Transaction
等等

像这类词语一般来说都没啥异议。
写程序的时候就直白地写就行了。
不过有的时候程序员要写富含需求的代码,
就可以玩一玩了。

代码片段

之前有一段代码,
要实现软文、软广相关的功能。
于是取变量名时,
翔神一拍大腿:
那就是advertorial这个词了!
这个词非常准确,
就是软文的意思。
吃瓜群众纷纷表示真牛逼!

然后代码写好了,
到浏览器里跑一下:
结果后端接口调用挂了…
定睛一看,
原来是浏览器的防广告插件自动识别了advertorial这个词,
把我们的接口屏蔽了…

于是后来数据库里,
软文还是advertorial
但是url里,
软文变成了soft_article
吃瓜群众纷纷表示更牛逼了…

还有一段代码,
要实现一个大礼包相关的功能。
类似于星巴克88元的礼品卡,
送券送积分送储值等等…
于是问题来了,
这个“大礼包”的抽象类应该叫什么名字呢?

当时系统里面已有的一些英文对照有:
积分奖 reward, 券 coupon, 礼品卡 gift_card等等……
感觉好的名字都用完了,
我们都停下了手里的键盘,
开始了头脑风暴…

gift_bag感觉很蠢,
尤其是有了gift_card。

这种奖励是一系列产品的叠加,
也可以叫production,
但是这会跟production environment有歧义。

最终我们给这个东西取名叫:
one_piece
没错,OnePiece就是《海贼王》里面的海贼宝藏。

给抽象类取一个无意义的名字,
反而影响深刻,没有歧义。
简直是解释一次,终生难忘…

信达雅

其实写程序起名字,
很多时候随便起一个也很容易,
但是想追求一个信达雅的表达,
就需要仔细想想了。

最近业余时间写麻将相关代码,
就感觉翻译真难…
像花色和大小还能用纸牌的SuitRank来对应,
但是一些番名我就比较懵逼了:

  • 十三幺/国士无双,根据维基百科的说法是ThirteenOrphans
    • 那老头牌估计就是OrphanTile了…
  • 九莲宝灯,有翻译说是Nine Gates,这个我先信了…
  • 海底捞月杠上开花这些咋办…

:) 所以看来10%时间都花在取变量名上,
这个说法还是比较保守的呢。

正如程序员经常说的
Talk is cheap, show me the code
有个有个很棒的翻译:
废话少说,放码过来

还是要继续修炼啊。