上個周末在咖啡館不知怎麼就想到了編碼規範里的命名問題,繼而天馬行空細細琢磨一番後,越發感覺有趣。「名字」可以如此的神奇,以至於無論人、事、物只要冠希以「名字」,它們就可以在有限的時間跨度里產生神奇的化學反應。或得豐功偉業,或成美談佳話,或享名垂千古,或受著書立廟;反之亦然。

怎麼哪哪都要取名

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最終勝出罷了javaworld.com/article/2
  • 短語首字母縮寫acronym:很多時候一個詞無法表達,就用一個短語來描述,然後命名就取用單詞的首字母縮寫。點評開源監控系統Central Application Tracking就縮寫為CAT, 而這個縮寫與貓一致,更容易為大家所接受。展示層開發框架Windows Presentation Foundation縮寫為WPF,縮寫並不是一個單詞,但是好在它夠獨特,搜索引擎也更容易搜索到。相比較而言CAT就比較難以搜索了,開源框架的知名度無論如何很難敵得過更大眾的貓吧...
  • 遞歸縮寫:這是一種極具極客氣質的命名方式,不解釋。GNU的GNUs Not Unix,PNG的PNGs 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

我的名字很普通,但是除了刻在自己的墓碑上,希望這個名字還可以做更多有價值有影響有意義的事情,值得被刻到更多地方。話說你記住了?

推薦閱讀:

相关文章