python经典书籍推荐:python编码规范
目录
INF-qa Python 编码规范................................................................................................................... 1
1. 介绍 ................................................................................................................................... 3
1.1. 开发背景 ............................................................................................................... 3
1.2. 语言 ....................................................................................................................... 3
1.2.1. 版本 .............................................................................................................. 3
1.3. 规范文档 ............................................................................................................... 3
2. 一致性的建议 ................................................................................................................... 3
3. 代码的布局 ....................................................................................................................... 3
3.1. 缩进 ....................................................................................................................... 3
3.2. Tab 键还是空格 .................................................................................................... 4
3.3. 行的最大长度 ....................................................................................................... 4
3.4. 空行 ....................................................................................................................... 4
3.5. 编码 ....................................................................................................................... 4
4. 导入 ................................................................................................................................... 4
5. 空格 ................................................................................................................................... 5
5.1. 其它建议 ............................................................................................................... 5
6. 注释 ................................................................................................................................... 6
6.1 注释块 ................................................................................................................... 6
6.2 行内注释 ............................................................................................................... 6
7. 文档化 ............................................................................................................................... 7
8. 版本注解 ........................................................................................................................... 7
9. 命名约定 ........................................................................................................................... 7
9.1. 描述:命名风格 ................................................................................................... 7
9.2. 说明:命名约定 ....................................................................................................... 8
9.2.1. 应避免的名字 ................................................................................................ 8
9.2.2. 模块名 ............................................................................................................ 8
9.2.3. 类名 ................................................................................................................ 8
9.2.4. 异常名 ............................................................................................................ 8
9.2.5. 全局变量名 .................................................................................................... 8
9.2.6. 函数名 ............................................................................................................ 9
9.2.7. 方法名和实例变量名 .................................................................................... 9
9.2.8. 继承 ................................................................................................................ 9
10. 设计建议 ................................................................................................................... 9
11. Demo ....................................................................................................................... 10
12. The zen of python.................................................................................................... 12
1. 介绍
1.1. 开发背景
为了提高组内自动化开发效率,避免重复开发,对组内各模块已开发的自动化 lib 库、
case 中常用的操作、以及其他工具的调用接口进行汇总,管理出 dsqa 组内自动化 case 开发
的基础库。
1.2. 语言
基础库采用 python 开发。需要调用的相关二进制工具的地方,为降低开发成本,暂采
用直接调该工具,封出 python 方法接口。
1.2.1. 版本
Python 版本较多,为避免上下版本的兼容性问题,开发采用统一版本。
Python 2.6.2/2.7.x
1.3. 规范文档
为了方便维护、他人阅读使用,整理出该编码规范文档。请大家开发时遵循本规范进行
更开发。
本文档参考自 Guido 的《Python 风格指南》一文. 并从《Barry's style guide》中添加了
部分内容,以及我的个人建议。
2. 一致性的建议
整个项目的开发中,请尽量保持一致性,尤其是一个模块或者一个函数中的一致性更为
重要。
因此存在这样的一个问题:由于不同模块的 lib 库开发人不同,编码规范也可能不同,
整合起来会显得不够“和谐”。还是希望各模块 lib 库负责人做相应的修改,尽量“和谐”。
3. 代码的布局
3.1. 缩进
众所周知,python 是通过缩进来进行代码布局的。使用 vi 可以在~/.vimrc 中配置几个空
格来代表一个 tab,从而来布局 python 函数的缩进。
3.2. Tab 键还是空格
Python 里有一句叫“以用空格为荣,以用 tab 键为耻”。但全用空格时确实很麻烦。因
此,这里不限定用 tab 键还是空格。但记住: 不可混用!
你可以选择全部使用 tab 键,这样也不会出错。
3.3. 行的最大长度
类似于函数中的行注释、函数体等,如果某一行很长,则导致换行折叠观看,很影响美
观,而且还不利于阅读。因此,对顺序排放的的大块文本(文档字符串或注释),推荐长度
限制在 72 个字节内。
推荐使用反斜杠续行。
3.4. 空行
用两行分割顶层函数和类的定义。
用一行分割类成员方法的定义。
在一个函数内使用空行时请注意谨慎使用于一个逻辑段。
3.5. 编码
在 python 2.4 之后内核已经开始支持 Unicode 了。
无论什么情况下, 使用 UTF-8
python经典书籍推荐:python编码规范的更多相关文章
- python经典书籍推荐:Python核心编程
作者:熊猫烧香 链接:www.pythonheidong.com/blog/article/27/ 来源:python黑洞网 对<Python核心编程>的褒奖 “ The long-awa ...
- python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序
Python编程实战主要关注了四个方面 即:优雅编码设计模式.通过并发和编译后的Python(Cython)使处理速度更快.高层联网和图像.书中展示了在Python中已经过验证有用的设计模式,用专家级 ...
- MAC Objective-C 开发经典书籍推荐
MAC Objective-C 开发经典书籍推荐 闻道有先后,术业有专攻,这句话放到计算机科学领域的理解可能每个人都会不同. 有些人选择一个操作系统,一个体系的编程语言,作一个领域的开发. 有些人选择 ...
- Linux好书、经典书籍推荐
Linux好书.经典书籍推荐 思想篇 <Linux/Unix设计思想> 图书将Unix与Linux的原理有效地结合起来,总结了Unix/Linux软件开发中的原则.在保留了第1版中Unix ...
- Linux网络编程经典书籍推荐
UNIX环境高级编程<高级unix环境编程><unix网络编程><深入理解计算机系统>比较好 =====================Linux网络编程经典书籍推 ...
- Python + OpenCV2 系列:3 - python 字符串,类,编码规范
首先,强烈推荐<<简明 Python 教程>> Swaroop, C. H. 著 沈洁元 译 其实,这本书里已经把python的最基本的用法,编码等等介绍的很好,这里把我用到的 ...
- Python 学习书籍推荐
谁会成为AI 和大数据时代的第一开发语言? 这本已是一个不需要争论的问题.如果说三年前,Matlab.Scala.R.Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明 ...
- python经典书籍必看:流畅的Python
作者:熊猫烧香 链接:www.pythonheidong.com/blog/article/26/ 来源:python黑洞网 目标读者 本书的目标读者是那些正在使用 Python,又想熟悉 Pytho ...
- Python学习书籍推荐 中英对照
Learn Python The Hard Way 笨办法学 python A Byte of Python 简明Python教程 初学者 英文版 Learning Python, 3rd Editi ...
随机推荐
- [BZOJ 2285] [SDOI 2011] 保密
Description 传送门 Solution 这道题的最大难点在于读懂题意(雾 分数规划求出 \(n\) 到 \(1\cdots n_1\) 每个点的最小 \(\sum\frac{t_i}{s_i ...
- Red Hat Enterprise Linux AS4, C++ OCCI connect Oracle 9i
前提是已经安装好Oracle 9i. 1. 下载对应的ORACLE client安装. http://www.oracle.com/technetwork/database/features/inst ...
- tensorflow 语音识别报错
cuDnn由7.1版本改为7.4.2.24版本,成功
- Gym - 101350F Monkeying Around(线段树+树状数组)
When the monkey professor leaves his class for a short time, all the monkeys go bananas. N monkeys a ...
- require.js使用教程
require.js使用教程 下载require.js, 并引入 官网: http://www.requirejs.cn/ github : https://github.com/requirejs/ ...
- Ubuntu16下Hive 安装
0.安装环境和版本 Ubuntu16,hadoop版本是2.7.2 ,选择Hive版本为 hive-2.1.17 1. Hive安装包下载 地址: https://mirrors.tuna.tsin ...
- React 记录(6)
React文档:https://www.reactjscn.com/docs/react-component.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https://reac ...
- Blender 2.78 突然卡顿
之前一直好好的直到这两天打开就一直延迟半拍,重启重装无效. 解决方法: NVIDIA控制面板→管理3d设置→程序设置→选择blender,更改显卡为集成显卡→应用 亲测有效.
- 转载一篇好理解的vue ssr文章
转载:原文链接https://www.86886.wang/detail/5b8e6081f03d630ba8725892,谢谢作者的分享 前言 大多数Vue项目要支持SSR应该是为了SEO考虑,毕竟 ...
- python使用stomp连接activemq
一.安装ActiveMQ服务 1. 当使用windows时,安装参考:https://blog.csdn.net/WuLex/article/details/78323811 启动:运行activem ...