2013-06-05 42 views
2

因此,Python中很少使用方法和屬性的下劃線前綴。但是明確哪些方法是API的一部分非常方便。這具有自我解釋的優點,使得重構變得更安全,因爲它是一個警告,並在訪問/覆蓋這些成員時將責任交給其他程序員。但是,大約80%的方法和屬性會以前綴爲前綴,並且再次,它在其他庫中很少使用,看起來很醜陋,並且對我來說感覺不太舒服。我應該在Python中強調所有非API成員的前綴嗎?

我在Python中進行了4年的編程,而且由於上述原因幾乎從未使用下劃線前綴,而且我不是控制怪胎,但是由於上述原因使得接口描述更清晰,因此開始思考它。 PEP8並不妨礙它的使用。

那麼我現在應該做什麼,我應該前綴所有我的非API成員與下劃線?

+0

這是一個「編碼風格」問題。沒有客觀的答案。 [PEP8提供了一些例子和指導方針](http://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles)。 – user2246674

+0

我知道PEP8的下劃線相關部分,除了它可能*以外,無法找到任何其他提示。如果這是一個編碼風格的問題,我的問題是指爲什麼這種編碼風格如此臭名昭着。我在SO上發佈這個問題之前對這個主題進行了很多搜索,並且在所有地方都提到「可能」,「有用」,但實際上並沒有那麼多。 – Iodnas

+0

那麼你可以隨你(或高級開發人員或項目負責人/作者/維護者)的願望自由地做。保持一致(在每個項目中)並且能夠證明決策背後的理性。 – user2246674

回答

2

As this popular interpretation of import this goes;

joined_lowercase的屬性,方法和功能

joined_lowercase or JOINED_CAPS爲常量

ThisKindOfCamelCase爲類

更具體地,屬性可以是interface_internal,或__private

但嘗試避免__private窗體。我從不使用它。相信我。如果你使用它,你後悔。

+0

我知道他們*可以*表示爲''_internal'',這不是我的問題。我問我是否真的應該廣泛地做這件事。 – Iodnas

+0

是的!它使您的代碼更易於閱讀。 –

+0

那麼,爲什麼它對於最新的內部成員以及像Django,Tastypie,Sphinx ......這樣的專業圖書館而言如此不恰當? – Iodnas

相關問題