軟件目錄結構規范
軟件開發規范
一、為什么要設計好目錄結構?
1.可讀性高: 不熟悉這個項目的代碼的人,一眼就能看懂目錄結構,知道程序啟動腳本是哪個,測試目錄在哪兒,配置文件在哪兒等等。從而非常快速的了解這個項目。
2.可維護性高: 定義好組織規則后,維護者就能很明確地知道,新增的哪個文件和代碼應該放在什么目錄之下。這個好處是,隨着時間的推移,代碼/配置的規模增加,項目結構不會混亂,仍然能夠組織良好。
二、目錄組織方式
關於如何組織一個較好的Python工程目錄結構,已經有一些得到了共識的目錄結構。
假設你的項目名為ATM
ATM/ |-- 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 項目說明文件
注:運行程序時,在bin目錄下執行start.py代碼,不可以直接執行core下的模塊。
關於README的內容
這個我覺得是每個項目都應該有的一個文件,目的是能簡要描述該項目的信息,讓讀者快速了解這個項目。
它需要說明以下幾個事項:
- 軟件定位,軟件的基本功能。
- 運行代碼的方法: 安裝環境、啟動命令等。
- 簡要的使用說明。
- 代碼目錄結構說明,更詳細點可以說明軟件的基本原理。
- 常見問題說明。