看到知乎上有個熱門問題,為什麽很多人反對中文在編程中的使用?
這個問題有幾百萬的瀏覽熱度,其中排名第一的回答非常簡潔,我深以為然: 在國內做開發,用中文寫註釋、寫文件,是非常好的習慣,因為太缺優秀的中文文件了,目之所及很多框架都沒有完整的中文文件。除此之外,其他形式用中文硬替代英文的編程行為,都有點化簡為繁、舍易求難的味道。
包括但不限於,用中文變量名、用中文解釋關鍵字、用中文欄位名、用中文檔名和路徑等等。
為什麽呢?編程中使用中文會造成一些不必要的困擾和錯誤。
「首先,程式語言本身是英文的,很多關鍵詞用英文表達更準確,已經是約定俗稱的東西」
比如Python中的return,凡是學過編程的見名知義,return將函式中的結果返回給呼叫者。
如果要把return轉譯成中文:返回、返回值、送回、給出...總覺得言不及義
而且不同人有不同的中文轉譯方式,會增加溝通和理解的成本。
「其次,在編程中使用中文可能會導致錯誤,比如編碼錯誤、不相容等」
有些人習慣用中文寫檔名和路徑,當你在程式碼中讀取檔的時候,很有可能出現編碼錯誤。
還有在資料庫中使用中文欄位,這也會導致編碼錯誤和不相容的問題,其次對於資料庫的維護也是極不方便的。
雖然現在很多語言和資料庫都支持Unicode字元集,允許中文做變量、欄位,但是為了避免不必要的錯誤,實在不建議用。
「最後,編程不光給自己看,還要方便其他開發者閱讀,除了文件和註釋外,最好不要用添加中文,方便團隊裏人閱讀和維護」
總得來說,還是要老老實實遵循編程規範,只做對的事。
谷歌有個編程規範文件,對C++、Python、Javascript等各種程式語言都做了詳細說明,大家沒事可以看看
以Python為例,有語言規範和風格規範,語言規範包括各種函式、模組、方法的規範 風格規範包括對註釋、縮排、行寬等進行了規範加入知識星球 【我們談論數據科學】
600+ 小夥伴一起學習!