比方說,我必須寫幾個小到爲我公司媒體庫。編寫Python庫:結構,命名和導入的最佳實踐
是否有意義,在Python的方式,使用Java方法和前綴他們都具有一個共同的高級封裝(啊哈,模塊)如實現以下結構:
mycompany.mylibrary1.moduleA
mycompany.mylibrary1.moduleB.moduleD
mycompany.mylibrary2.moduleC
還是更簡單地去爲:
mylibrary1.moduleA
mylibrary1.moduleB.moduleD
mylibrary2.moduleC
我看到大部分的時間使用第2個方法,但我一直在尋找一個確認(或不),這是要走的路。
在PEP 008我找不到這方面的東西,旁邊:
Python的庫的命名約定是有點亂,所以我們永遠不會得到這個完全一致的[...]
,然後我們得到的只是模塊和類命名的指示,以及該相對進口望而卻步的事實。
事實上,絕對進口是決定如何組織你的庫真的很重要(我不是在這裏討論是否避免相對進口是好是壞)。
我做這樣的命名空間,所有的庫的Java的方法,但在我的印象它不是Python的...有什麼建議的路要走?
PS。 儘管總體上'最佳實踐'的問題被認爲是SO的主觀問題,但在Python中,PEP的存在使得它們在我看來非常客觀!儘管答案可能是...有沒有最好的做法,適合舉辦庫..
你有沒有打算讓公司外部的人來使用的庫嗎?如果你這樣做,它更簡單,使他們'mylibrary1'。如果他們純粹是爲了內部使用,'mycompany.mylibary1'意味着你以後不能再碰上別人的'mylibrary1'麻煩。 –