Python 入门之 软件开发规范

1、软件开发规范 -- 分文件

(1)为什么使用软件开发规范:

当几百行--大几万行代码存在于一个py文件中时存在的问题:

不便于管理 修改
可读性差
加载速度慢

这时可以使用软件开发规范,规范项目目录结构,规范代码,遵循PEP8规范,能够更加清晰,合理的开发。

(2)软件开发规范 -- 约定俗称

<1> bin -- 启动文件 (启动接口)

start.py 项目启动

<2> lib -- 公共文件 (大家需要的功能)

commom.py 放置一些常用的公共组件函数,像是服务于整个程序中的公用的插件。(加密,序列化,日志等功能)

<3> conf -- 配置文件 (静态文件)变量

settings.py 放置一些项目中需要的静态参数,比如文件路径,数据库配置,软件的默认设置等。

<4> core -- 主逻辑 (核心)

src.py 主要存放的是核心功能函数

<5> db -- 用户相关数据 (账号和密码等文件)

register.py 用户的相关数据

<6> log -- 日志 (记录主要信息,记录开发人员的行为)

access.log 存储日志文件

<7> README文件 简要描述该项目的信息

文件中要说明几个注意事项:
软件的定位,软件的基本功能。
运行代码的方法,安装环境,启动命令等
简要的使用说明
代码目录结构说明,更详细点可以说明软件的基本原理
常见问题说明

软件开发规范:

"""
blog
├─ bin
│ └─ starts.py 启动文件
├─ conf
│ └─ settings.py 配置文件
├─ core
│ └─ src.py 逻辑文件
├─ db
│ └─ register 数据文件
├─ lib
│ └─ common.py 公共文件
└─ log
│ └─ logg.log 日志文件
├─ README.md 使用手册
"""

Python 入门之 软件开发规范的更多相关文章

  1. Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型)

    Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某 ...

  2. Python入门之软件开发目录规范

    本章重点: 理解在开发人标准软件时,如何布局项目目录结构,以及注意开发规范的重要性. 一.为什么要有好的目录结构 二.目录组织的方式 三.关于README的内容 四.关于requirements.tx ...

  3. Python模块的导入以及软件开发规范

    Python文件的两种用途 1 . 当脚本直接使用,直接当脚本运行调用即可 def func(): print("from func1") func() 2 . 当做模块被导入使用 ...

  4. python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)

    一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...

  5. Python 3 软件开发规范

    Python 3 软件开发规范 参考链接 http://www.cnblogs.com/linhaifeng/articles/6379069.html#_label14 对每个目录,文件介绍. #= ...

  6. python(37)- 软件开发规范

    软件开发规范 一.为什么要设计好目录结构? 1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 2 ...

  7. python软件开发规范&分文件对于后期代码的高效管理

    根据本人的学习,按照理解整理和补充了python模块的相关知识,希望对于一些需要了解的python爱好者有帮助! 一.软件开发规范--分文件 当代码存在一个py文件中时: 1.不便于管理 (修改,增加 ...

  8. python中软件开发规范,模块,序列化随笔

    1.软件开发规范 首先: 当代码都存放在一个py文件中时会导致 1.不便于管理,修改,增加 2.可读性差 3.加载速度慢 划分文件1.启动文件(启动接口)--starts文件放bin文件里2.公共文件 ...

  9. python27期day16:序列化、json、pickle、hashlib、collections、软件开发规范、作业。

    序列化模块:什么是序列化呢? 序列化的本质就是将一种数据结构(如字典.列表)等转换成一个特殊的序列(字符串或者bytes)的过程就叫做序列化.将这个字典直接写入文件是不可以的,必须转化成字符串的形式, ...

随机推荐

  1. php 将几个变量合为数组,变量名和值对应

    <?php $firstname = "Bill"; $lastname = "Gates"; $age = "60"; $resul ...

  2. Spring理解?

    (1)Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,是解决企业应用开发的复杂性,为J2EE应用提供了全方位的整合框架,在Spring框架下实现多个子框架的组合. (2)Sp ...

  3. LeetCode 54. 螺旋矩阵(Spiral Matrix) 剑指offer-顺时针打印矩阵

    题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, ...

  4. jQuery file upload 服务端返回数据格式

    Using jQuery File Upload (UI version) with a custom server-side upload handler 正常的返回结果,即上传文件成功 Exten ...

  5. laravel中事件的监听和订阅

    一.前言 更新员工部门主管的时候,需要重新更新一下缓存,这个会比较耗时.所以计划放到队列中来执行.后来想了想,其实用一下事件监听也能实现.人家都说好,然是我也没感觉到有什么好的. 二.正文 1. 在p ...

  6. (组件的)状态(state)和属性(props)之间有何不同

    State 是一种数据结构,用于组件挂载时所需数据的默认值.State 可能会随着时间的推移而发生突变,但多数时候是作为用户事件行为的结果.Props(properties 的简写)则是组件的配置.p ...

  7. leetcode 230二叉搜索树中第k小的元素

    通过stack进行中序遍历迭代,timeO(k),spaceO(1) /** * Definition for a binary tree node. * struct TreeNode { * in ...

  8. String 类源码分析

    String 源码分析 String 类代表字符序列,Java 中所有的字符串字面量都作为此类的实例. String 对象是不可变的,它们的值在创建之后就不能改变,因此 String 是线程安全的. ...

  9. mingw下的msys显示与输入乱码

    一直很喜欢gcc+vim这个貌似已经不用在强调了,好了,我只是想说明下我的问题是首先从gcc编译出错提示开始的 正如上面所说,安装完MinGW后使用gcc一编译,这程序没有错误还好,这一有错误发现输入 ...

  10. Vue+Python 电商实战

    安装webStorm  https://blog.csdn.net/qq_38845858/article/details/89850737 安装NodeJs  http://nodejs.cn/do ...