IT范兒 | 你是個會取名兒的人么?

  • 2019 年 10 月 28 日
  • 筆記

還有無數的取名場景,我可沒打算也不可能列全,暫時想起上面這些比較有趣的供大家一樂。

切,不就取個名么?

Easy?

如果你不是滿腹經綸,出口成章,三步成詩,博古通今,天文地理,周易八卦,星座命理的那種大才或專才,取名字這件事絕對沒有那麼簡單。

這不,當初給犬子取名就吃了沒有上面任何一種才的虧,真是歷經了各種波折:翻了無數遍測字命理星座的書,按照部首拼音韻腳選了無數個含義美好的字,還有詩經楚辭論語離騷周易中庸禮記尚書…..等等,統統沒翻過!

中國人起名兒無非這麼幾個出發點:

  • 絕對不容易被起外號。說實話時代潮流一直在變化,外號有時候就是那麼不期而遇,不用太刻意強求。就像以前還是挺優美的「翔」字,誰曾想現而今會讓人無法直視;曹操的「操」(一聲,讀成四聲的同學去面壁)字,應該是操守、節操的那層意思,如今試問誰還有膽用它做名?!
  • 硬靠或者拆解某段知名文學詩詞詩歌里的優美詞句,顯得有Bigger。你說你單名一個「草」字,非說取自「離離原上草,一歲一枯榮」,我們還能說什麼呢?
  • 出生日的季節、節氣或節日,所以很多叫國慶、建軍的也就不奇怪了。
  • 家族傳承:比較大的家族或者族群,按照族譜每一代都有固定的授字。比如我父親就是江字輩,而到我這一代大家不講究了已經。
  • 姓名整體是一個比較有趣或者大眾共識的美好事物(高富帥、白富美、殷悅)。犬子的名字就來自於此,下文會說。
  • 還有一種也是比較流行的,就是父母的姓或出生地進行結合或拆解或諧音,取三字甚至四字的名字,如一錢一程取名錢程,一龍一胡取名龍古月,一上海一天津取名王滬津,一霍一郭可以考慮一下禍國殃民…
  • 最後一個也是最重要的一個,中國玄學。結合各種生辰八字、屬相、星座,測算一下名字的氣運命格:事業、家庭、愛情和健康。測出來有大凶之兆的名字鐵定不能要。

讓我們還是回到筆者老本行「軟體產品」的命名上來。軟體研發領域的命名就是件很高頻很要命的一件事。一來每個系統每個組件都需要命名,微服務體系這麼多的零件,要名字不重複有新意,真不是那麼容易的;二來程式碼里的類、介面、方法、變數也都需要命名,就查詢這個詞有些人就會很糾結用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

名字的好壞確實或多或少會帶來某些正向或反向影響,事實上大部分時候名字只是個普通代號而已,也不必把名字的地位刻意拔高。