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. mystrcat

    #include<stdio.h> //如果一个数组做为函数的形参传递,那么数组可以在被调用的函数中修改 //有时候不希望这个事发生,所以对形参采用const参数 //size_t str ...

  2. supsplk 服务器被植入木马 挖矿 cpu使用 700%

    最近emr集群跑任务的时候总出现 task failed ,优化sql,调提交任务参数都没解决,最后再我排查时候,发现一个从节点的cpu使用800% 经过一些列排查,发现是被注入木马了, #被人种下的 ...

  3. 顺序表栈C语言实现

    /* * SeqStack.h * * Created on: 2019年8月1日 * Author: Administrator */ #ifndef SEQSTACK_H_ #define SEQ ...

  4. 循环链表C语言实现

    按照单链表的设计,稍加改动.和单向链表不一样的地方,头节点不指向NULL,而是指向自己head 循环链表的判满 1)判断next是不是头结点,2)判断size /* * CycleLinkList.h ...

  5. What exactly is the parameter e (event) and why pass it to JavaScript functions?

    What exactly is the parameter e (event) and why pass it to JavaScript functions? 问题 Well, when I lea ...

  6. List<Map>集合根据Map里某个key对List集合重新排序介绍

    例1:List集合数据参考形式如下: [{GLXXLX=03,GLXXBH=20160226105812003},{GLXXLX=01,GLXXBH=20160226105812001},{GLXXL ...

  7. php面向对象 2

    继承概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有成员访问不到)在定义子类的时候需要加一个关键字:extends特点:单继承,一个类只能有一个父类如果父类中有构造函数,子类在实例化的时候 ...

  8. 1.2 Mac下配置maven环境变量

    1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.下载Mave ...

  9. leetcode171 Excel列表序列号

    /** 可看做26进制到10进制转换问题:v=26*v+s[i]-'A'; **/ class Solution { public: int titleToNumber(string s) { ; f ...

  10. 关于eclipse安装插件的问题

    使用eclipse(luna)不行,其为安装了ee有关插件的 使用eclipse(Juno)可以,其为原生版本