下划线和中划线,虽然模样长的都差不多,但程序员对她们的喜爱程度却是相差十万八千里。下划线在程序员眼里,是一个魔法师,而中划线只是一个普通字符而已。
一、MySQL数据库
在SQL语句中,like关键字会把下划线解释为通配符。
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.
** 建议:数据中含有下划线时,使用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名称,在某些条件下,可以当成主机名传给后端Java应用。当upstream名称中含有下划线的时候,Java会把主机名当做域名来按照[RFC2396]解析,结果就会返回Null,在某些版本的Spring框架里就会触发服务器内部错误,此类问题相当隐蔽。
域名命名规则
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
建议:upstream名称不包含下划线,实践中使用驼峰命名规范貌似比较合适
四、虚变量
多种语言使用下划线代表虚变量
- Lua
- Python
- Erlang
- Golang
五、交互解释器
返回交互解释器中最后一次执行语句的结果。
CPythonPypy- Node
六、变量名
高级编程语言,大多都允许使用下划线作为变量名的组成部分,基本都是延续C语言的命名规范。
- C
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头 - Lua
变量名可以由字母,数字和下划线。它必须以字母或下划线开头。 - Python
标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。
标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
网友评论