如何優雅地為程序中的變量和函數命名?
「你取的變量名太糟糕了」可能是程序員們互相吐槽的常規起手式,此外還有不寫注釋、不換行(換行?)、需求不明……
Phil Karlton:計算機科學領域有兩個難題:一個是緩存失效,另一個就是命名。
好了好了,有了這個神奇的網站,今天我們來解決第一大問題,讓我們和基于漢語拼音的變量名系統說再見吧。
網站地址:https://unbug.github.io/codelf/
GitHub 鏈接:https://github.com/unbug/codelf#codelf-for-vs-code
我們做了一些嘗試,比如在搜索框中鍵入中文「殘差」,搜索框下方會出現 Suggestions,列出了多個英文翻譯。Suggestions 下方那片「五彩斑斕」默認為是包含第一個建議英文翻譯的所有變量名和函數名。
點擊其他建議翻譯,下方「五彩斑斕」也會隨之改變。比如點擊「error」,搜索結果的變化如下所示。
你也可以選擇自己喜歡的編程語言,比如 Python。
看看搜索結果的變化。
將鼠標指針放置在某個彩色框上,會出現「Search」、「Repo」、「Copy」、「Codes」四種選項。用戶可以點擊這些選項,使用對應功能。
點擊「Search」就是基于當前命名搜索其它相關的命名。比如,在「residuals」上點擊「Search」后結果如下所示。
點擊「Repo」就是鏈接到使用該命名的代碼所在的資源庫。
點擊「Copy」是復制該命名。
點擊「Codes」可以查看使用命名的示例代碼。
可以根據需要選擇不同語言的示例代碼。
據作者介紹,Codelf 的內部原理是:先到有道翻譯 API 取中文的英文翻譯,然后搜索 GitHub 取變量。該網站支持直接搜索中文,在搜索框鍵入中文后,Codelf 會提供查好的單詞及其近義詞,然后通過搜索 Github、Bitbucket、Google Code、Codeplex、Sourceforge、Fedora Project 上的開源項目的源碼匹配出與這些詞匯相關的變量名和函數名。當然,直接輸入英文也是可以的,Codelf 會提供相關的命名。