1.可讀性高: 不熟悉這個專案的**的人,一眼就能看懂目錄結構,知道程式啟動指令碼是哪個,測試目錄在哪兒,配置檔案在哪兒等等。從而非常快速的了解這個專案。
2.可維護性高: 定義好組織規則後,維護者就能很明確地知道,新增的哪個檔案和**應該放在什麼目錄之下。這個好處是,隨著時間的推移,**/配置的規模增加,專案結構不會混亂,仍然能夠組織良好。
二、目錄組織方式
關於如何組織乙個較好的python工程目錄結構,已經有一些得到了共識的目錄結構。
假設你的專案名為my_project
my_project/|-- bin/ 存放專案的一些可執行檔案,當然你可以起名script/之類的也行,但bin/更直觀。易懂
| |-- __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 寫上日誌
||-- __init__.py
|-- readme 專案說明檔案
|-- requirements.txt
注:執行程式時,在bin目錄下執行start.py**,不可以直接執行core下的模組。
專案目錄
專案檔案
關於readme的內容這個我覺得是每個專案都應該有的乙個檔案,目的是能簡要描述該項目的資訊,讓讀者快速了解這個專案。
它需要說明以下幾個事項:
軟體定位,軟體的基本功能。
執行**的方法: 安裝環境、啟動命令等。
簡要的使用說明。
**目錄結構說明,更詳細點可以說明軟體的基本原理。
常見問題說明。
python 軟體目錄結構規範
為什麼要設計好目錄結構?設計專案目錄結構 就和 編碼風格 一樣,屬於個人風格問題。對於這種風格上的規範,一直都存在兩種態度 一類同學認為,這種個人風格問題 無關緊要 理由是能讓程式work就好,風格問題根本不是問題。另一類同學認為,規範化能更好的控制程式結構,讓程式具有更高的可讀性。我是比較偏向於後...
python軟體目錄結構規範
1.可讀性高 不熟悉這個專案的 的人,一眼就能看懂目錄結構,知道程式啟動指令碼是哪個,測試目錄在哪兒,配置檔案在哪兒等等。從而非常快速的了解這個專案。2.可維護性高 定義好組織規則後,維護者就能很明確地知道,新增的哪個檔案和 應該放在什麼目錄之下。這個好處是,隨著時間的推移,配置的規模增加,專案結構...
python軟體目錄結構規範
參考 為什麼要設計好目錄結構?設計專案目錄結構 就和 編碼風格 一樣,屬於個人風格問題。對於這種風格上的規範,一直都存在兩種態度 一類同學認為,這種個人風格問題 無關緊要 理由是能讓程式work就好,風格問題根本不是問題。另一類同學認為,規範化能更好的控制程式結構,讓程式具有更高的可讀性。我是比較偏...