python語言基本控制結構,正確地組織python項目的結構

 2023-10-08 阅读 28 评论 0

摘要:統一的項目結構 寫了不少python項目后, 越來越認識到python項目結構重要性. 不管項目是否要開源, 是否要提交pypi, 項目結構的一致性帶來的好處還有很多: 多人合作開發大家都有個基本的guideline, 別人日后維護也方便, 也容易形成項目開發的best practice. 所以花了寫時間, 仔

統一的項目結構

寫了不少python項目后, 越來越認識到python項目結構重要性. 不管項目是否要開源, 是否要提交pypi, 項目結構的一致性帶來的好處還有很多: 多人合作開發大家都有個基本的guideline, 別人日后維護也方便, 也容易形成項目開發的best practice.

所以花了寫時間, 仔細研究了github上python的 top 10 項目的結構, 項目結構還真不太一樣. 比較合我口味的是sandman這個項目. 我做了少許的修改, 主要是將tests package從sandman package下移到頂層目錄.

|- LICENSE  
|- README.md   
|- TODO.md   
|- docs  
|   |-- index.md  
|   |-- installation.md  
|   |-- quickstart.md  
|- sandman  
|   |-- __init__.py  
|   |-- exception.py  
|   |-- model.py  
|   |-- sandman.py  
|- tests  
|   |-- __init__.py  
|   |-- test_sandman.py  
|- setup.py  
|- tox.ini  
|- .gitignore  
|- requirements.txt  
|- requirements_dev.txt ,比requirements.txt多的是單元測試庫 

Top 10項目的研究發現:

  1. readme.md和setup.py和requirements.txt放在根目錄下
  2. 一個項目至少有3個子目錄, docs目錄, root package 和tests package
  3. 的python代碼要放在一個package中, 而不是一般的src目錄中.
  4. tox 測試工具大家都在用.
  5. 用pytest和nose單元測試工具比較多, 尤其是pytest

腳手架工具:

下載并安裝cookiecutter命令行工具,
網站: 下載
pip install cookiecutter

cookiecutter更詳細的教材

參考:

jeffknupp的雄文

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/132527.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息