好的設計項目目錄結構,就和編碼風格同樣,是每一個程序員都有的風格,可是在流水化標準化做業過程當中,個python
性和風格是不被鼓勵的。若是你去維護一個很是很差讀的項目,雖然實現邏輯並不複雜,可是對後續的維護者來講程序員
就是災難。數據庫
[優勢]api
1. 可讀性高 後續維護人員能夠一眼看懂目錄結構,沒必要爲複雜混亂的層次耗費大量精力。測試文件在哪,配置文 件在哪會被放置在規範操做的地方,可讓後續人員快速的瞭解這個項目。 2. 可維護性高 看清目錄架構以後,維護者能夠將後續新增的文件和代碼按照規範放置在規定的地方,雖而後續代碼 和文件增多,可是項目目錄並不會混亂,仍然可以快速組織良好 因此說,保持一個層次清晰的目錄結構是很是必要的,也是體現一個程序員思路和視野格局的一個標準
目前各個開發語言在工程目錄結構方面,已經取得了一些共識的目錄結構.架構
例如,以下的一個簡單的ATM目錄結構,開發人員能夠快速的瞭解項目的啓動入口,用戶層模塊,邏輯接口層模測試
塊,數據處理模塊,日誌模塊等等。ui
ATM/ |-- bin/ | |-- start.py | |-- core/ | |-- src.py | |-- conf/ | |-- settings.py | |-- lib/ | |-- common.py | |-- api/ | |-- api.py | |-- db/ | |-- db_handle.py | |-- run.py |-- setup.py |-- requirements.txt |-- README
ATM:項目目錄編碼
bin/:存放啓動文件,通常也能夠放在項目的根目錄下設計
core/:存放業務邏輯相關代碼日誌
conf/:存放配置文件
lib/:存放程序中經常使用的自定義模塊
api/:存放接口文件,接口主要用於爲業務邏輯提供數據操做
db/:存放操做數據庫相關文件,主要用於與數據庫交互
run.py:程序的啓動文件,通常放在項目的根目錄下,由於在運行時會默認將運行文件所在的文件夾做爲
sys.path的第一個路徑,這樣就省去了處理環境變量的步驟,也能夠放在bin下,二者選其一
setup.py:安裝、部署、打包的腳本
requirements.txt:存放軟件依賴的第三方模塊
README: 項目說明文件
關於README的內容,這個應該是每一個項目都應該有的一個文件,目的是能簡要描述該項目的信息,讓讀者快速
瞭解這個項目。它須要說明如下幾個事項:
一、軟件定位,軟件的基本功能; 二、運行代碼的方法: 安裝環境、啓動命令等; 三、簡要的使用說明; 四、代碼目錄結構說明,更詳細點能夠說明軟件的基本原理; 五、常見問題說明。