python全栈开发中级班全程笔记(第二模块、第四章(四、python的书写规范与模块作业))

        python全栈开发笔记第二模块

 

第四章 :常用模块(第四部分)

    python的书写规范:

 一、软件的目录规范

    1、设计目录结构的用途

      设计目录结构,和‘写代码风格’一样,属于个人风格,对于书写风格的规范,存在常见的 2 种态度:

      ① 一类人认为:这种‘个人风纪’或‘书写规范’无关紧要,能让程序正常运行就好,风格不算什么

      ② 另一类人认为:规范化可以更好的控制程序结构,分工明确,

        让程序具有更高的可读性和更好的维护性(资深高级程序员的心声)

      a:可读性高:更快的了解项目结构 b:便于维护:定义好规范,分工明确,可以更好的排查和拓展,

        结构更清晰,组织更良好

      2、所以,前者会随着互联网的发展,逐步淘汰,后者的优势逐渐明显

      (1) 写任何项目都要具备的书写规范原则:

      (2)项目名:小写英文,不建议大写(按照作用、时间、类别的不同 创建文件夹)

          ① 要有日志目录(log)(logging模块)

            ② 配置文件目录(conf)(configparser模块)

          ③ 核心代码目录(core)(一般为项目名 )

            ④ 第三方库包括c语言目录(libs 或 modules)(内容一般为调用第三方库)

           ⑤ 软件文档目录(docs)

     **重要目录 ⑥ 正确使用安装与结构说明(README)

          ⑦ 快捷的安装方式(setup.py)一般为运行文件

      **重点目录 ⑧ 程序的启动脚本,或者入口脚本(bin)(内部主要是调用执行程序的总入口)

     **** 以上目录几乎是任何语言及所有程序和脚本的基本目录,或许文件命名不一样,内容大同小异,都会有类似目录存在

  二、目录结构框架

 在 python 怎么组织一个更好的工程目录结构,大致约定俗成的办法
foo/ (总项目名)
|-- bin/ (程序入口目录)
| |--foo (入口启动文件)
|
|--foo/ (核心程序代码目录)
| |--tests/
| | |--__init__.py
| | |--test_main.py
| |
| |--__init__.py
| |--main.py (项目内的主逻辑,小程序的汇总)
|
|--docs/ (文档目录)
| |--conf.py
| |--abc.rst
| |--info.md (接口说明)
|
|--setup.py (快捷命令(一键装机))
|--requirements.txt(文件版本和运行此文件所需安装包) 详见讲解
|--README (安装说明与注意事项)

  三、简要说明:

  • bin/:存放项目的一些可执行文件 ,也可命名为script/一类的文件
  • foo/:存放项目的所有源代码,
         ①源代码中的所有模块、包,都应该放在此目录。不能在等层目录;
   ②其子目录 rests/ 是存在单元测试代码;
   ③程序的入口最好命名为main.py
  • docs/:存放一些文档
  • setuop.py:安装部署打包的脚本
  • requirements.txt:存放软件依赖的外部 python 包的列表
  • README:项目说明文件
  • 除此之外,有的项目罗列出了更多的内容,
  • 如:LICENSE.txt(开源和封闭授权的权限说明),ChangeLig.txt(更新日志)(写开源软件会用到)

  四、关于 README 的内容(每个项目都要有的文件)

作用:简要描述项目信息,让读者尽快了解项目,
需说明以下信息:
1、软件的定位,软件的基本功能。
2、运行代码方法,安全环境,启动命令等。
3、简要的使用说明。
4、代码目录结构说明,再详细可说明软件的基本原理。
5、常见问题的说明(安装时简单问题的处理方法)。

  五、关于 requirements.txt 和 setup.py

1、requirements.txt 文件版本和运行此文件所需安装包的生成与调用(需要用交互器运行)
( 1、生成 requirements.txt
在 cmd 环境下进入相应目录,执行命令:【pip freeze】就会打印当前系统安装的所有第三方库和版本
再次输入【pip freeze>requirements.txt】 就会在当前目录下生成 requirements.txt 文件
(如果有些不是当前软件所需,可以手动去除)
( 2、调用 requirements.txt
在 cmd 终端输入【pip install -r requirements.txt】
就可以直接一键导入软件所需版本的所有工具包
2、setup.py
一般 setup.py是用来管理代码打包、安装、部署问题。业界流行的标准写法是用 setuptools (打包工具)来管理这些事情。
这种方式普遍应用于开源项目,当然核心思想不是用标准化工具解决这些问题,而是一个项目一定要有一个安装部署的工具,
能够快速的让程序运行起来,
3、setuptools 一键装机工具详解(网站上自己搜)

  六、配置文件的使用详解(在上图中,没有将conf.py放在源代码下,而是放在 docs/ 下)

配置文件的正规写法:
1、经常会改动、变动的文件(不能写死)
如:使用者的终端,使用者当地语言和时区,日志的配置,

1、模块的程序都可以灵活配置,不受外部配置文件影响
2、程序的配置可以灵活控制,(给不同的环境,写不同的配置文件,使项目可以指定配置)
比如:可以为 开发组、本地、生产(用户真实使用)各个组分别设计一套配置文件。
特别是数据库的连接,生产连接生产的,测试连接测试的
原文地址:https://www.cnblogs.com/guoyilong/p/10799856.html