下劃線和中劃線,雖然模樣長的都差不多陪腌,但程序員對她們的喜愛程度卻是相差十萬八千里辱魁。下劃線在程序員眼里,是一個魔法師诗鸭,而中劃線只是一個普通字符而已染簇。
一、MySQL數(shù)據(jù)庫
在SQL語句中强岸,like關(guān)鍵字會把下劃線解釋為通配符锻弓。
With LIKE
you can use the following two wildcard characters in the pattern:
- %
matches any number of characters, even zero characters. - _
matches exactly one character.
** 建議:數(shù)據(jù)中含有下劃線時,使用like時必須要小心蝌箍。**
二青灼、Nginx/http-header
the "underscores_in_headers" directive; now nginx does not allows underscores in a client request header line names.
建議:http header名字里面不要包含下劃線
三、Nginx/upstream
upstream名稱妓盲,在某些條件下杂拨,可以當(dāng)成主機(jī)名傳給后端Java應(yīng)用。當(dāng)upstream名稱中含有下劃線的時候悯衬,Java會把主機(jī)名當(dāng)做域名來按照[RFC2396]解析弹沽,結(jié)果就會返回Null,在某些版本的Spring框架里就會觸發(fā)服務(wù)器內(nèi)部錯誤筋粗,此類問題相當(dāng)隱蔽策橘。
域名命名規(guī)則
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
建議:upstream名稱不包含下劃線,實踐中使用駝峰命名規(guī)范貌似比較合適
四娜亿、虛變量
多種語言使用下劃線代表虛變量
- Lua
- Python
- Erlang
- Golang
五丽已、交互解釋器
返回交互解釋器中最后一次執(zhí)行語句的結(jié)果。
CPythonPypy- Node
六买决、變量名
高級編程語言沛婴,大多都允許使用下劃線作為變量名的組成部分辰斋,基本都是延續(xù)C語言的命名規(guī)范。
- C
變量的名稱可以由字母瘸味、數(shù)字和下劃線字符組成宫仗。它必須以字母或下劃線開頭 - Lua
變量名可以由字母,數(shù)字和下劃線旁仿。它必須以字母或下劃線開頭藕夫。 - Python
標(biāo)識符的第一個字符必須是字母表中的字母(大寫或小寫)或者一個下劃線(‘ _ ’)。
標(biāo)識符名稱的其他部分可以由字母(大寫或小寫)枯冈、下劃線(‘ _ ’)或數(shù)字(0-9)組成毅贮。