08-03 開發軟件的目錄規範

軟件開發目錄規範

08-03 開發軟件的目錄規範

爲了提高程序的可讀性與可維護性,我們應該爲軟件設計良好的目錄結構,這與規範的編碼風格同等重要。軟件的目錄規範並無硬性標準,只要清晰可讀即可,假設你的軟件名爲foo,筆者推薦目錄結構如下

Foo/
|-- core/
|   |-- core.py
|
|-- api/
|   |-- api.py
|
|-- db/
|   |-- db_handle.py
|
|-- lib/
|   |-- common.py
|
|-- conf/
|   |-- settings.py
|
|-- run.py
|-- setup.py
|-- requirements.txt
|-- README

簡要解釋一下:

​ • core/: 存放業務邏輯相關代碼

​ • api/: 存放接口文件,接口主要用於爲業務邏輯提供數據操作。

​ • db/: 存放操作數據庫相關文件,主要用於與數據庫交互

​ • lib/: 存放程序中常用的自定義模塊

​ • conf/: 存放配置文件

​ • run.py: 程序的啓動文件,一般放在項目的根目錄下,因爲在運行時會默認將運行文件所在的文件夾作爲sys.path的第一個路徑,這樣就省去了處理環境變量的步驟

​ • setup.py: 安裝、部署、打包的腳本。

​ • requirements.txt: 存放軟件依賴的外部Python包列表。

​ • README: 項目說明文件。

除此之外,有一些方案給出了更加多的內容,比如LICENSE.txt,ChangeLog.txt文件等,主要是在項目需要開源時纔會用到,請讀者自行查閱。

關於README的內容,這個應該是每個項目都應該有的一個文件,目的是能簡要描述該項目的信息,讓讀者快速瞭解這個項目。它需要說明以下幾個事項:

1、軟件定位,軟件的基本功能;

2、運行代碼的方法: 安裝環境、啓動命令等;

3、簡要的使用說明;

4、代碼目錄結構說明,更詳細點可以說明軟件的基本原理;

5、常見問題說明。

關於setup.py和requirements.txt:
08-03 開發軟件的目錄規範

一般來說,用setup.py來管理代碼的打包、安裝、部署問題。業界標準的寫法是用Python流行的打包工具setuptools來管理這些事情,這種方式普遍應用於開源項目中。不過這裏的核心思想不是用標準化的工具來解決這些問題,而是說,一個項目一定要有一個安裝部署工具,能快速便捷的在一臺新機器上將環境裝好、代碼部署好和將程序運行起來。

requirements.txt文件的存在是爲了方便開發者維護軟件的依賴庫。我們需要將開發過程中依賴庫的信息添加進該文件中,避免在 setup.py安裝依賴時漏掉軟件包,同時也方便了使用者明確項目引用了哪些Python包。

這個文件的格式是每一行包含一個包依賴的說明,通常是flask>=0.10這種格式,要求是這個格式能被pip識別,這樣就可以簡單的通過 pip install -r requirements.txt來把所有Python依賴庫都裝好了,具體格式參照https://pip.readthedocs.io/en/1.1/requirements.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章