這有啥好奇怪的。
如果我跟你說中文的時候中間夾著程式碼你難受不。
if
我
.
說話
(
你
):
難受_status
=
問
(
你
,
"難受不"
)
if
難受_status
==
True
:
問
(
你
,
"知道了麽"
)
if
問
(
你
,
"知道了麽"
)
==
True
:
三連
.
點贊
()
else
:
三連
.
評論
(
你
.
疑問
)
機靈抖完了,說點有用的。
程式語言又叫電腦語言,比如python,java,go,c++,易語言。
很顯然這些語言不是中文也不是英文,他是一種獨特的語言。
電腦最主要的就是要讓電腦看懂,如果看不懂就會報錯。
電腦看懂語言最重要的其實是語法,只要語法對基本上就ok。
有些杠精可能會在此處杠一下子,程式碼報錯大部份都不是語法報錯。
對,沒錯,但是那些報錯都是電腦看懂程式碼的前提下報的錯。
所以說,只有語法錯誤,是電腦不懂你在說什麽,其他類別的報錯,是電腦知道你在說什麽,但是他沒法照著幹。
那麽程式碼還要具備另外一個特性,就是可讀性,可維護性。
換句話說就是,程式碼不光要讓電腦能懂,還要讓人能懂。
所以標誌符,關鍵字,起名是為了給人看的,只要便於理解,程式語言允許這麽命名,用什麽語言命名其實不重要。
這時候有杠精可能要站出來了,中文命名會影響程式碼的執行效率。
那我們用事實說話。
import time
def clock(func):
def clocked(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(func.__name__, end - start)
return result
return clocked
@clock
def test():
a = True
b = 0
while a:
b+=1
if b>=1000000:
break
@clock
def 測試():
誒 = True
幣 = 0
while 誒:
幣+=1
if 幣>=1000000:
break
if __name__ == '__main__':
for i in range(10):
測試()
test()
兩個一模一樣的函數,一個所有的都用中文命名,一個所有的都用英文命名。看看執行時間。
跑10組作為對比
測試結果顯而易見,並不會對執行效率產生影響。
以上說了這麽多,就是為了論證,標誌符,關鍵字的中文命名對實際執行和理解上並不會產生太多影響。
那麽為什麽很多人反對中文在編程中使用。
因為要照顧到讀程式碼的強迫癥患者。
程式碼寫久了就會有這種強迫癥,習慣了用字母作為函數名,類名,變量名,突然看到中文命名就會很難受。寧願用pinyin也不用中文。這是幾乎所有程式設計師都有的強迫癥,甚至延伸出其他強迫癥。
比如我就受不了點贊數是偶數。