据说平均下来,
程序员会有10%的时间花在取名字上。
今天和俊儒聊天的时候,
讲到了在知乎上看的,
《扩散性百万亚瑟王》为什么停运的原因:
这种等级的中二程序员的确可以留名青史了…
大型程序一般都是团伙作案,
所以“写出逻辑清晰、见文知意”的程序,
也是一个程序员的必备技能。
按照正常文章的套路走,
这里我们要介绍一下,
绝大多数的计算机词语是有唯一的中英对照的:
服务器 - Server
表 - Table
事务 - Transaction
等等
像这类词语一般来说都没啥异议。
写程序的时候就直白地写就行了。
不过有的时候程序员要写富含需求的代码,
就可以玩一玩了。
代码片段
之前有一段代码,
要实现软文、软广相关的功能。
于是取变量名时,
翔神一拍大腿:
那就是advertorial
这个词了!
这个词非常准确,
就是软文的意思。
吃瓜群众纷纷表示真牛逼!
然后代码写好了,
到浏览器里跑一下:
结果后端接口调用挂了…
定睛一看,
原来是浏览器的防广告插件自动识别了advertorial这个词,
把我们的接口屏蔽了…
…
于是后来数据库里,
软文还是advertorial
,
但是url里,
软文变成了soft_article
…
吃瓜群众纷纷表示更牛逼了…
还有一段代码,
要实现一个大礼包相关的功能。
类似于星巴克88元的礼品卡,
送券送积分送储值等等…
于是问题来了,
这个“大礼包”的抽象类应该叫什么名字呢?
当时系统里面已有的一些英文对照有:积分奖 reward
, 券 coupon
, 礼品卡 gift_card
等等……
感觉好的名字都用完了,
我们都停下了手里的键盘,
开始了头脑风暴…
gift_bag感觉很蠢,
尤其是有了gift_card。
这种奖励是一系列产品的叠加,
也可以叫production,
但是这会跟production environment有歧义。
最终我们给这个东西取名叫:one_piece
。
没错,OnePiece就是《海贼王》里面的海贼宝藏。
给抽象类取一个无意义的名字,
反而影响深刻,没有歧义。
简直是解释一次,终生难忘…
信达雅
其实写程序起名字,
很多时候随便起一个也很容易,
但是想追求一个信达雅的表达,
就需要仔细想想了。
最近业余时间写麻将相关代码,
就感觉翻译真难…
像花色和大小还能用纸牌的Suit
和Rank
来对应,
但是一些番名我就比较懵逼了:
十三幺/国士无双
,根据维基百科的说法是ThirteenOrphans
- 那老头牌估计就是
OrphanTile
了…
- 那老头牌估计就是
九莲宝灯
,有翻译说是Nine Gates
,这个我先信了…海底捞月
,杠上开花
这些咋办…
:) 所以看来10%时间都花在取变量名上,
这个说法还是比较保守的呢。
正如程序员经常说的Talk is cheap, show me the code
,
有个有个很棒的翻译:废话少说,放码过来
。
还是要继续修炼啊。