看到莊表偉的《開源社區應該選擇什麼語言?》一文,其中建議一刀切地使用英文命名標識符:git
咱們將一個源代碼文件,看作一篇完整的文章。在這篇文章中:中英文夾雜,甚至英文加漢語拼音混雜都是嚴重影響閱讀體驗的程序員
包命名、文件名、函數名、變量名等等,都嚴重建議一概使用英文github
不得不來發表些我的觀點。在《Gitee 開源指北》第 5 小節:有關開源的常見誤區 中,有與本文同題的一節進行闡述。三個月前還圍繞此部分進行了一場 持續很多天、來回數十回合的論辯。有興趣的能夠細看,此文僅分享一個兩年半前的開源合做實踐經歷。編程
那天在 v2ex 碰到一個開發請求,由此催生了 五筆編碼編輯器 這個微型開源項目,此爲 過後結貼。架構
九月十八日開始合做時,請求者 明說無編程經驗。在原型搭建時,我提到會使用中文命名,最後實現的 Python 代碼片斷以下:編輯器
一開始很但願以後的維護由他多出力,但感受那時他的動力並不大。花個把禮拜作出了雛形,意外和驚喜的是,這位在九月二十八日就提交了這個「照貓畫虎」 PR,而且以後持續改進,十月以後我除了合併 PR 以外基本沒有投入其餘精力。ide
可見中文命名對於鼓勵新手參與開源項目的做用。函數
開源項目的基本架構搭建以後,若是項目自己使用的是中文命名,用戶(每每非程序員)應該會更有動力去學習代碼。並非說英文命名確定會阻止參與項目,但會讓很大一部分人望而卻步。學習
實際上開源項目很大一部分工做量在於後期維護、界面改進、類似功能的堆積,以及相關測試。這部分徹底能夠由原做者以外的參與者,即普通用戶來實現,原做者就能夠專心投入到架構/大功能的優化改進上。長此以往,編程新手也會逐漸成爲熟練程序員、核心貢獻者。測試
可以吸引更多人來投入項目,而不是點個星就走,是開源項目可以壯大和持久的關鍵。任何可以下降參與門檻的技術,都應該值得項目做者認真考察,根據項目酌情決定。
回憶一下,不管是開源仍是閉源項目,過去幾周有沒有碰到以下狀況之一:
- 翻本身以前寫的代碼,發現某個標識符不知所謂
- 看別人的代碼,不懂某個標識符
- 同事來問你某個標識符啥意思
在我看來,這種時候就能夠考慮一下,將這個標識符改爲中文會不會少些麻煩。大能夠從須要的地方開始改,不用上來就把整個項目的標識符所有中文化。
補:最多見的問題之一是:"用中文命名以後,國外開發者如何參與"? 對此在《Gitee 開源指北》中也有說起,能夠另開文章詳述。