在 pair programming 的時候,會想著「希望把這個用 " 包成字串」。
想要用口頭傳達,張開嘴的瞬間。
卻一時想不起符號名稱........
只好說:
「用雙引號框起來!」
對方聽懂了。
但不知為何,心裡還是會有一點沒出息的感覺。
符號通常都有好幾種唸法:正式名稱、英文慣稱、日文俗稱、現場口語。
沒有哪一種唸法絕對正確。
能讓對方理解才是王道。
但如果可以,誰不想帥氣地稱呼這些符號呢?
我就想。
不過,只知道帥氣的唸法也沒什麼用。
因為對方不一定總會用「帥氣」的唸法來講。
所以我把程式裡常用的符號依種類分開,整理出各種唸法。
這不是要決定「正確唸法」的文章,而是看看這些稱呼到底有多麼搖擺不定。

!正式名稱是「驚嘆號」。太長了。所以日文常說「ビックリ」,英文圈工程師似乎會叫它 "bang"。
#! 讀作「shebang」,就是這個 bang 的延伸。
!= 變成這樣時,就會說「不等於」。
!= me 大概是「不是我」
##(hash)和 ♯(升記號)原本是不同的字。
音樂記號 ♯ 的豎線是斜的,而 # 的橫線是斜的。即使如此,C# 還是讀作「C sharp」,平常也直接說 sharp 就能通。
也有人會把它叫做「井字號」。
$這個很和平。大概就只是在「dollar」和「美元符號」之間有點差異。
%不分男女老少,大概都會說「百分比」。
^正式名稱是「caret」。
不過在正規表示式的行首,或在冪次方(2^10)的語境裡,很多人會叫它「hat」。
另外也有人說「山形」。
&通常會直接說「and」,但正式名稱是「ampersand」。
它的詞源很有趣,來自 "and per se and"(其自身就表示 and)縮寫而來。
*這大概是唸法分歧最大的一個符號。正式名稱是「asterisk」,因外形也會被叫作「米字號」、「星星」,在乘法語境裡則常說「乘號」。
一直盯著這個符號看,會讓我想到 Pompompurin。沒什麼特別的原因。
+a + b 視語境可讀作「加號」或「加」。
C++ 則是「C++」。
== 是「等號」。但麻煩的是,很多語言裡 = 是賦值,而 == 才是比較。
口頭上說「等號」時,對方腦中有可能在想 = 或 ==,這就是為什麼會有人特別說「單等號」「雙等號」。

_snake_case 很常用。完整唸法「underscore」太長了,所以常簡稱成「底線」。
「underbar」是和製英語。
-在 kebab-case 裡會說「hyphen」,在 a - b 裡會說「減號」,CLI 選項 --verbose 也有人讀成「dash dash」。同一個字元,依照用途名稱就不同。
|Shell 裡的 | 幾乎只會說「pipe」,但作為字元本身,則是「vertical bar」或「直線」。
||(邏輯 OR)到底要讀成「pipe pipe」還是「double pipe」,似乎有點派系差異。
話說以前好像有一部叫《10本動畫》的動畫,主角就是 pipe 來著
/ \/ 很平穩地叫「slash」。問題在 \。
\(backslash)在某些字型或作業系統上會顯示成 ¥(日圓符號)。這是因為歷史上的字元編碼設計,讓同一個 code point(0x5C)同時對應了兩者的殘留。
所以口頭上如果有人說「yen mark」,就會發生到底是 \ 還是 ¥ 的事故。
?就是「question mark」或「問號」。
三元運算子裡很常見。

.方法鏈的 . 會說「dot」,句點則會說「period」。
,這大概就是 comma 和 comma 的差別吧?
: ;: 是「colon」,; 是「semicolon」。
有時候真的會分不清哪個是哪個。
就算是螢幕上,有時也會看不出來。
・全形的 ・。這個正式名稱似乎是「中點」。

成對使用、用來包住內容的符號。
' "' 是「單引號」," 是「雙引號」。
依語言不同,使用單引號還是雙引號有時很重要。
這個符號常常會讓人想「欸,這個到底怎麼唸來著」。
明明在 Markdown 的程式碼區塊裡天天見到,口頭上卻常常想不起來。
( )一般都會說「括號」。也有人用英文通稱「paren」,但通常只有知道的人才聽得懂。需要區分時,會說「圓括號」。
{ }用來包住區塊的符號。「花括號」、「braces」、「大括號」常常混用。花括號比較直觀,但說「braces」會讓人感覺比較厲害一點點(主觀看法)。
[ ]陣列或索引常用的 [ ]。可以說「方括號」或「bracket」。
< >泛型或 HTML 標籤的 < > 會說「尖括號」或「angle bracket」。在比較運算 a < b 裡,則會變成「不等號」、「大於」、「小於」之類的說法。然後,大於小於本身也挺麻煩的。
即使指的是同一個符號,也會有各種不同的唸法。
平常寫程式基本上都是用鍵盤,所以不太會去意識這些唸法。
但在 pair programming 之類突然需要用口頭傳達的場合,就很容易變成「啊,這個符號到底怎麼唸來著?」。
這次一邊查一邊整理,也注意到自己對同一個符號的稱呼其實會不自覺地搖擺。
唸法不是本質,能傳達就好。不過既然有這麼多說法,當然也可能有傳不出去的時候。
所以我認為,事先知道這些並不是白費功夫。
如果這篇文章能對順暢的 pair programming 稍微有點幫助,我會很高興。
原文出處:https://qiita.com/tomoki-miso/items/690bf3299706d40d4532