在emacs中,標記程序包命名空間的典型方法是選擇 (最好是短)應用於與 程序包相關的所有符號;爲了表明功能被認爲是「僅使用內部的 」,並且不應該直接用在封裝外部,最常見的對流似乎是prefix--functionname
,或者當功能需要非常簡單的子功能時,例如, prefix-functionname-1
。Emacs lisp命名空間和內部函數約定
但是,我還經常需要一些「子包裝」,例如,當一個包 包含幾個公用函數時,我已將其拆分爲 不重疊的子函數。是否有約定是否喜歡
mypkg-list-all
mypkg-list-all--filter-list
mypkg-list-all--fontify-buffer
mypkg-list-all-public-subfunction
或
mypkg--list-all-filter-list
mypkg--list-all-fontify-buffer
mypkg-list-all
mypkg-list-all-public-subfunction
?
憑直覺,我覺得第一個版本好,因爲這裏--
還充當 作爲一種在完成緩衝區「子包」分隔符和組最密切 相關功能整合在一起的。令人遺憾的是,它導致 的內部函數在 相同層次級別的公共職能之前列出,這讓我質疑該慣例。
有沒有關於此的召集或是否只是「所有人,因爲他們 想要」?
此外,在很多情況下,特別是當一個函數的「完全限定」名稱變得冗長時,缺少區分字和 包分隔符感覺有點問題;個人而言,我已經使用的命名約定一樣
mypkg-view-mode
mypkg-view-mode:mouse-action
mypkg-view-mode:keyboard-action
,所以我想知道是否有可能是一個更好的慣例亞比單連字符-
定界符發現 自己。
我不確定這恰恰是重複的,但以下問題只在幾天前,並肯定重疊:http://stackoverflow.com/questions/18812352/what-does-internal-mean-in - 功能 - 名稱 - 中 - 與Emacs口齒不清,與http://stackoverflow.com/questions/3180390/what-does-the-double-minus-convention-in-function-names-mean-in-emacs-lisp沿這已經提到過了。 – phils