zoukankan      html  css  js  c++  java
  • 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、程序的配置可以灵活控制,(给不同的环境,写不同的配置文件,使项目可以指定配置)
    比如:可以为 开发组、本地、生产(用户真实使用)各个组分别设计一套配置文件。
    特别是数据库的连接,生产连接生产的,测试连接测试的
  • 相关阅读:
    volatile详解
    Java并发之AQS详解
    Thread详解
    Hibernate检索策略
    Hibernate查询方式
    Hibernate--对象关系
    hibernate--hibernate.cfg.xml常用配置详解
    hibernate--CRUD初体验
    hibernate--HelloWorld
    Struts支持的contentType
  • 原文地址:https://www.cnblogs.com/guoyilong/p/10799856.html
Copyright © 2011-2022 走看看