软件目录结构规范

软件开发规范

一、为什么要设计好目录结构?

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的内容

这个我觉得是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。

它需要说明以下几个事项:

  1. 软件定位,软件的基本功能。
  2. 运行代码的方法: 安装环境、启动命令等。
  3. 简要的使用说明。
  4. 代码目录结构说明,更详细点可以说明软件的基本原理。
  5. 常见问题说明。

最新文章

  1. 前端工具之-- Sublime
  2. hdfs client access the hdfs cluster not in one domain
  3. WCF binding的那些事!!!
  4. python 解析json loads dumps
  5. jquery、js操作checkbox全选反选
  6. Linux下MySQL主从同步配置
  7. Builder模式在Java中的应用(转)
  8. word模版另存为网页(*.htm,*.html),转为jsp页面并加入数据后导出成word
  9. php 多进程中的信号问题
  10. 使用protobuf编写配置文件以及读写
  11. IOS学习之路二十二(UIAlertView获得文本框内容及添加北京图片)
  12. 【Python】生成器、回溯和八皇后问题
  13. 安卓弹出对话框——Alertdialog(一)
  14. Flink的分布式缓存
  15. Nginx整合tomcat,实现反向代理和负载均衡
  16. alibaba的FastJson找不到JSON对象问题
  17. DNS区域传送漏洞实验以及二级域名爆破
  18. ant常用的内置 task转自https://www.cnblogs.com/baicj/archive/2015/12/21/5063608.html
  19. discuz X论坛技术架构 MVC结构浅析
  20. C#调用系统蜂鸣(需要发出警告时挺好用的 即使没有声卡)

热门文章

  1. [LC] 809. Expressive Words
  2. LeetCode No.139,140,141
  3. Self-examination
  4. AI入门:人工神经网络理解及BP神经网络
  5. 推荐系统之矩阵分解(MF)
  6. 求求你,下次面试别再问我什么是 Spring AOP 和代理了!
  7. Springboot实现发送邮箱
  8. XML的打包与解析
  9. [LC] 100. Same Tree
  10. 二、Android XML数据解析