1.可讀性高: 不熟悉這個專案的**的人,一眼就能看懂目錄結構,知道程式啟動指令碼是哪個,測試目錄在哪兒,配置檔案在哪兒等等。從而非常快速的了解這個專案。
2.可維護性高: 定義好組織規則後,維護者就能很明確地知道,新增的哪個檔案和**應該放在什麼目錄之下。這個好處是,隨著時間的推移,**/配置的規模增加,專案結構不會混亂,仍然能夠組織良好。
二、目錄組織方式
關於如何組織乙個較好的python工程目錄結構,已經有一些得到了共識的目錄結構。
假設你的專案名為notebook
readme相關notebook/
之類的也行,但bin/更直觀。易懂|-- bin/ 存放專案的一些可執行檔案,當然你可以起名script/
| |-- __init__
| |-- start.py 寫啟動程式
||-- core/ 存放專案的所有源**(核心**)。(1) 源**中的所有模組、包都應該放在此目錄。不要置於頂層目錄。 (2) 其子目錄
tests/
存放單元測試**; (3) 程式的入口最好命名為main.py
| |-- tests/| | |-- __init__.py
| | |-- test.main.py
| |
| |-- __init__.py
| |-- test_main.py| 存放核心邏輯
||-- conf/ 配置檔案
| |-- __init__.py
| |-- setting.py 寫上相關配置
||---db/ 資料庫檔案
| |--db.json 寫資料庫檔案
|
|-- docs/ 存放一些文件
|
|-- lib/ 庫檔案,放自定義模組和包
| |-- __init__.py
| |-- common.py 放常用的功能
||-- log/ 日誌檔案
| |-- access.log 寫上日誌
||-- readme 專案說明檔案
注:執行程式時,在bin目錄下執行start.py**,不可以直接執行core下的模組。
使用過開源軟體的朋友們都知道readme可以給軟體的使用帶來很大的幫助,包括軟體介紹、功能定位、安裝啟動使用方法、有建議或bug怎麼聯絡作者等,其必要性和重要性不言而喻。
因此每乙個專案都應該有readme說明,好的readme應該至少包括以下幾方面的內容:
如果再編寫的更詳細,可以考慮簡述軟體的基本原理。這方面最好的參考就是開源軟體的readme,如nginx,redis等。
python 軟體目錄結構規範
為什麼要設計好目錄結構?設計專案目錄結構 就和 編碼風格 一樣,屬於個人風格問題。對於這種風格上的規範,一直都存在兩種態度 一類同學認為,這種個人風格問題 無關緊要 理由是能讓程式work就好,風格問題根本不是問題。另一類同學認為,規範化能更好的控制程式結構,讓程式具有更高的可讀性。我是比較偏向於後...
python軟體目錄結構規範
參考 為什麼要設計好目錄結構?設計專案目錄結構 就和 編碼風格 一樣,屬於個人風格問題。對於這種風格上的規範,一直都存在兩種態度 一類同學認為,這種個人風格問題 無關緊要 理由是能讓程式work就好,風格問題根本不是問題。另一類同學認為,規範化能更好的控制程式結構,讓程式具有更高的可讀性。我是比較偏...
初學Python 軟體目錄結構規範
為什麼要設計好目錄結構?可讀性高 不熟悉這個專案的 的人,一眼就能看懂目錄結構,知道程式啟動指令碼是哪個,測試目錄在哪兒,配置檔案在哪兒等等。從而非常快速的了解這個專案。可維護性高 定義好組織規則後,維護者就能很明確地知道,新增的哪個檔案和 應該放在什麼目錄之下。這個好處是,隨著時間的推移,配置的規...