我有一個python web服務器,有一個基於自定義文本的遊戲和博客。我正在努力將代碼分離成適合參考的地方,事情正在失控。組織複雜的Python代碼系統是否有一個很好的標準?
旅遊組織:
- 獨立的模塊類
- 單獨的模塊功能
- 數據庫調用和結果
- 處理用戶輸入
- 安全問題
有什麼指導或已知的方法,這是很好的繼續進行這些項目的工作。我發現我的代碼開始變爲WET(寫入所有內容兩次),我無法阻止它。我希望你們有更多經驗的任何提示。
我有一個python web服務器,有一個基於自定義文本的遊戲和博客。我正在努力將代碼分離成適合參考的地方,事情正在失控。組織複雜的Python代碼系統是否有一個很好的標準?
旅遊組織:
有什麼指導或已知的方法,這是很好的繼續進行這些項目的工作。我發現我的代碼開始變爲WET(寫入所有內容兩次),我無法阻止它。我希望你們有更多經驗的任何提示。
如果這些是你覺得你的應用程序邏輯意義被分解成,然後開始創建模塊,並在兩者來回移動代碼的方式對你有意義的區域。
有做到這一點,因爲它是主觀的每一個人使用的情況下沒有真正正確的方式,但也有是可以用來幫助提高代碼的質量水平靜態代碼分析工具。我已經經常使用
工具是PEP8(大多爲遵守公約)和pylint的。 pyflakes也顯然是另一個偉大的(我一直在使用它的意思)。我發現通過pep8和pylint運行後,我所做的更改數量使得我的代碼更容易理解(我還了解了之前我一直做得不好的一些事情),結果始終更高整體質量代碼。
另外,我讀了@Omnikrys的評論,並不同意。 Python是一種多範式語言,如果你選擇沿着這條路走下去,它顯然適合OOP。然而,我發現,一旦你真正弄清楚如何在其所有鴨打字榮耀的使用Python,真正擁抱「我們都同意的成年人」的理念,就可以開始編寫一些非常高品質,而不是過度設計的解決方案。當然,這是非常有爭議的(我已經在這個主題上進行過不少辯論),完全取決於你。
我並不是指任何嚴格遵守或任何事情,但任何大型項目都可以從一個小結構中受益。更多按目的/功能將其分解到文件夾中,以便您擁有諸如utilities.do_stuff()之類的常見內容庫,而不是散佈在周圍的100個版本的do_stuff()。也許OOP是一個糟糕的選擇。 – Omnikrys
我發現至少使面向對象編程的嘗試有所幫助。對於我來說,它始終是OOP和代碼之間的戰鬥。對我來說,它仍然不是第二天性。這不是一個答案,因爲我沒有時間將一些參考文獻放在一起。祝你好運。 – Omnikrys
嘗試將此移到[程序員](http://programmers.stackexchange.com/) –