上个周末在咖啡馆不知怎么就想到了编码规范里的命名问题,继而天马行空细细琢磨一番后,越发感觉有趣。“名字”可以如此的神奇,以至于无论人、事、物只要冠
希以“名字”,它们就可以在有限的时间跨度里产生神奇的化学反应。或得丰功伟业,或成美谈佳话,或享名垂千古,或受著书立庙;反之亦然。
怎么哪哪都要取名
More or Less
一提到取名儿,大部分人脑中闪现的第一个念头一定是给婴孩取的名字。其实取名这事已经充斥在我们生活工作的角角落落:
家里养个宠物,必然要取名。不然小区遛弯你怎么把你的狗子喊回来。
微信、QQ、游戏、聊天群都要网名或者群名。魔兽世界里有个传奇昵称“你爹”,你爹邀请你组队,接受/拒绝? 另外前段时间大火的“3点钟无眠区块链群”了解下?
公众号、头条号、博客、App等信息载体的取名,讲究就多了,要高大上有逼格且易记忆易传播(不得不提“曲水流觞”,深得朕意)。
很多国人给自己取的英文名是可以让老外崩溃的。 Honey/Sweety/Baby这种齁甜的让别人叫你怎么受得了,是吧AngelaBaby? 特别点名那些起Zeus/Apollo这种希腊神名字的,这就像叫你观音菩萨一样,实在欠妥。
武林高手们豪气干云、盖世无双,一招一式自会有一个霸气写意的名字。耳熟能详的“降龙十八掌”“黯然销魂掌”“凌波微步”,还有韦小宝描述陈近南的“九天十地,菩萨摇头怕怕,劈雳金光雷电掌”。如果加上“日本动漫里每次出招前都要喊一下招式名字”的设定,名字要是难听你可怎么还好意思出手?
- 热点事件为了方便渠道传播,一般也会起个名称代号,比如政治界、娱乐界的XX门,网络热点的“贾君鹏”“蓝翔”“Duang”...
还有无数的取名场景,我可没打算也不可能列全,暂时想起上面这些比较有趣的供大家一乐。
切,不就取个名么?
Easy?
如果你不是满腹经纶,出口成章,三步成诗,博古通今,天文地理,周易八卦,星座命理的那种大才或专才,取名字这件事绝对没有那么简单。
这不,当初给犬子取名就吃了没有上面任何一种才的亏,真是历经了各种波折:翻了无数遍测字命理星座的书,按照部首拼音韵脚选了无数个含义美好的字,还有诗经楚辞论语离骚周易中庸礼记尚书.....等等,统统没翻过!
中国人起名儿无非这么几个出发点:
绝对不容易被起外号。说实话时代潮流一直在变化,外号有时候就是那么不期而遇,不用太刻意强求。就像以前还是挺优美的“翔”字,谁曾想现而今会让人无法直视;曹操的“操”(一声,读成四声的同学去面壁)字,应该是操守、节操的那层意思,如今试问谁还有胆用它做名?!
硬靠或者拆解某段知名文学诗词诗歌里的优美词句,显得有Bigger。你说你单名一个“草”字,非说取自“离离原上草,一岁一枯荣”,我们还能说什么呢?
出生日的季节、节气或节日,所以很多叫国庆、建军的也就不奇怪了。
家族传承:比较大的家族或者族群,按照族谱每一代都有固定的授字。比如我父亲就是江字辈,而到我这一代大家不讲究了已经。
姓名整体是一个比较有趣或者大众共识的美好事物(高富帅、白富美、殷悦)。犬子的名字就来自于此,下文会说。
还有一种也是比较流行的,就是父母的姓或出生地进行结合或拆解或谐音,取三字甚至四字的名字,如一钱一程取名钱程,一龙一胡取名龙古月,一上海一天津取名王沪津,一霍一郭可以考虑一下祸国殃民...
最后一个也是最重要的一个,中国玄学。结合各种生辰八字、属相、星座,测算一下名字的气运命格:事业、家庭、爱情和健康。测出来有大凶之兆的名字铁定不能要。
后续:最后给犬子定了个“曲麒****Qi”的名字,谐音曲奇饼干Cookie。麒与麟如影随形,在医院的时候还因此出了个乌龙。某天领导本来应该在医院待产,但实在太无聊了就偷偷跑回家了,医生发现不见了就赶紧给我打电话,请问是“曲麟Lin”的家长么?我!@#¥%……&*()
虽然麟儿也是个常用的称呼别家孩子的或者以前皇族子女的用语,但是曲麟Lin真的不好听哇...
软件产品取名好痛苦
Nod
让我们还是回到笔者老本行“软件产品”的命名上来。软件研发领域的命名就是件很高频很要命的一件事。一来每个系统每个组件都需要命名,微服务体系这么多的零件,要名字不重复有新意,真不是那么容易的;二来代码里的类、接口、方法、变量也都需要命名,就查询这个词有些人就会很纠结用Get/Query/Search/Retrieve...;三来知名软件产品发布后的版本号也会有命名,比如macOS从各种狮虎豹到现在的知名景观景区。
Quora调查“程序员最难的任务”排名首位就是
Naming things
下面我就从自己多年的取名和看名经验来说道说道如何能给软件产品取个不错的名字:
首先,一个好的程序员必须能够把自己的情感倾注到代码中,视若珍宝。“推敲”二字的渊源相信大家都了解,名字取的随心所欲我实在无法相信你的代码能精益求精到哪里去。
常见的几种命名思路:
特性直译:比较稳妥或者常规的做法就是按照软件产品特点的相关性来命名。比如前置网关是个“把门的”,可以找一个希腊神话中的门神(Janus)或者电影游戏中著名的门(指环王:刚铎之门)来命名;风控产品是个识别风险、甄别坏人、反欺诈、保护公司免受资金损失等,因此市面上的风控产品基于不同的侧重点有叫“谛听”(地藏王菩萨的神兽,可分辨真假孙悟空),有“Aegis”(携程,宙斯或者雅典娜所持的盾);监控系统不出意外的话80%都叫XX眼,XXEye。所以该方式是稳妥但并不会太出彩的一种。
特性延伸:不再是特性表层的相关,而是深入和延伸的相关。知名的开源压缩软件7-Zip,名字看起来并无甚出奇之处,但自从知道它的一层含义是“牛逼到可以把Z压缩成7”,我就爱上它了。这个技巧很隐蔽有点大巧若拙的感觉,但是逼格满满。
产品线体系:无视软件产品的功能特性,就是选择一整套的同类型名称来命名整个产品线。比如星系、知名景点、地名、物种、节气季节、古建筑、古文明、希腊神等等。这种方式简单粗暴,如果选择的名字过于拗口或难识别就会给团队带来麻烦,所以慎重。
Pluto/Neptune 招行信用卡卡中心IT的朋友都懂;
著名的RPC开源框架DUBBO名字的渊源外部很难搜到只言片语,经多方求证,最终辗转找到了原作者梁飞(这里需要感谢山哥),方才确认DUBBO其实就是个澳大利亚的城市名,而当时阿里平台部的很多系统命名约定都是地名,选择澳大利亚也无甚出奇之处,就是“澳洲的地名大家都不熟,不容易产生无关联想”(梁飞原话);
高级开发语言Java的知名度应该比它的公司Sun还出名,很难说的清是好的命名给Java带来了更多的关注度,还是别的什么名字其实也完全可以胜任,但毋庸置疑它是个成功的命名。James Gosling团队在开发Java这款语言的时候喝了大量的咖啡,他们就决定在咖啡中选择那款品质最好的做名字,而这款咖啡就来自印尼的爪哇岛。
大家有兴趣可以读一下这篇文章,其实当初投票最后剩下的三个名字分别是Java, Silk和DNA,Java最终胜出罢了
https://www.javaworld.com/article/2077265/core-java/so-why-did-they-decide-to-call-it-java-.html
短语首字母缩写acronym:很多时候一个词无法表达,就用一个短语来描述,然后命名就取用单词的首字母缩写。点评开源监控系统Central Application Tracking就缩写为CAT, 而这个缩写与猫一致,更容易为大家所接受。展示层开发框架Windows Presentation Foundation缩写为WPF,缩写并不是一个单词,但是好在它够独特,搜索引擎也更容易搜索到。相比较而言CAT就比较难以搜索了,开源框架的知名度无论如何很难敌得过更大众的猫吧...
递归缩写:这是一种极具极客气质的命名方式,不解释。GNU的GNU's Not Unix,PNG的PNG's Not GIF,EMACS的EMACS Makes A Computer Slow
象形释义:这个有点太偏门,例子不太好举。就想到一个IO域名,这是程序员群体和互联网公司特别喜欢的一类域名,因为IO形似二进制的1和0,当然IO也是程序里input输入/output输出的缩写,很符合程序员的一贯尿性。还有一个表示膜拜的网络象形表情orz。象形也不失为一种较奇葩的命名方式。
自创词:这个是终极大招,实在找不到现成可匹配的,那就造词吧。比如著名浏览器FireFox, 问答网站Quora, 搜索引擎Google(Googol的错误拼写), 苹果的iPhone/iPad(简单加前缀或者后缀的方式), 武则天的曌(日月空)。
思路有限,暂时能想到的就这么多,相信大家会有更好的角度,可以文末分析。另外提醒大家尽量避开一些命名陷阱:难懂拗口的缩写能不用就不用,勿用易失去生命力的网红流行词,对选定的名字要有调查权(邪恶、低俗、污秽的人/物/城市做名字会很糟糕),最后远离政治。
名字其实只是个代号?
Symbol
名字的好坏确实或多或少会带来某些正向或反向影响,事实上大部分时候名字只是个普通代号而已,也不必把名字的地位刻意拔高。
名字与其载体永远是互相成就的。好的名字需要有相应的实力才承载得起,而别样精彩人生/故事同样可以将一个普通甚至糟糕的名字升华为文化坐标、历史名人甚至民族之魂。就像没什么人敢把佛、皇、帝、朕、天、神、圣这些加到名字里,老话讲一般人担不起也压不住。
经过我这么多年对史书典故浅尝辄止式的研究,发现霍去病和辛弃疾其实是同一个名儿,某一天搜了一下这俩名人,原来还真有人和我一样无聊能发现这层关系,也有说法是辛弃疾的祖父就是为了让孙子成为霍去病那样的神将,才取名基本同样意思的“弃疾”,是不是如此不得而知。结果是这两人的名字都是看起来那么的普通和无趣,但却都是牛逼哄哄的大人物。霍去病犹如天神下凡,战无不胜,作为一代名将受无数后人膜拜,也可能是其神迹过于锋芒毕露,上天早早的就在他24岁就把他唤回去了。辛弃疾也是不得了,作为被中学语文"荼毒"的一代,大家很多只知道他的词人身份,却不知道他也是一名出色的将领,而且还是个人武力值超高的将领,绝对是个文武全才的全能型选手。武有“醉里挑灯看剑,梦回吹角连营”“金戈铁马,气吞万里如虎”的霸气侧漏,文有“众里寻他千百度。蓦然回首,那人却在,灯火阑珊处”的委婉细腻,玩词?那都是打仗外的课余娱乐。误会了,辛大爷!
再论精彩人生:“初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。”。以前都是当成笑话听,现在回过头来看看,这种能折腾,敢折腾,甚至敢把命搭进去的折腾,打心底的钦佩。没热情没追求不好奇不折腾,这么蔫巴巴的人生实在浪费了来人世走的这一遭。
我叫曲健,健康的健
Nicholas
我的名字很普通,但是除了刻在自己的墓碑上,希望这个名字还可以做更多有价值有影响有意义的事情,值得被刻到更多地方。话说你记住了?快记!