目录
一、个人代码习惯与要求
1.易犯规范的点
- 空格:逗号后面要空一格,那怕是函数内赋值
- 空格:运算符两边缺少空格,尤其是等号
- 空格:注释符#后要空一格才写内容
- 空格:冒号前不能有空格,冒号后的同行代码要空一格
- 空行:类或函数之间要空两行,不能空一行或三行及之上
- 函数:函数参数赋值等号两边不需要等号
- 函数:函数中的变量要全小写,使用command + shift + u 变小写
- 类:类命名应该符号CamelCase规划,即首字母大写,不用下划线
- 模块:导入的模块中没有用到应该移走
- 异常:except没有跟Exception等异常类
- return带多变量时,不用括号括起来
- 代码行长度不能超长120个字符
- 变量名为内置函数、保留字的名,如id,type,list
2.个人代码规范要求
(1)大方向
- 遵守PEP8编码规范 ,PEP8参考:https://legacy.python.org/dev/peps/pep-0008/
- 编写常用函数库common.py ,将函数规范化、通用化,提升编程效率
- 变量命名 与 cli 命令参数 规范化,统一规范,易于解读
- 无论注释 或是 docstring 全部用英文
二、代码规划化标准
1.编码规划化宗旨
(1)统一化:命名统一、格式统一、使用方式统一
(2)模块化:将功能代码块封装成易于调用的函数
(3)简化:即秉承最少代码量实现功能原则
2.命名统一
-
一般情况下,代码统一使用小写,字符串大小写按实际情况而定
-
多词组合统一使用下划线“_”连接
-
无论常量、变量、函数或类,其命名都应易于让人解读出其功能、作用等
-
模块:尽量使用小写,尽量不要用下划线,除非多个单词
-
类:类名首字母大写,私有类可用一个下划线开头
-
函数:函数名一律小写,如有多个单词,用下划线隔开
-
变量:变量名尽量小写, 如有多个单词,用下划线隔开
-
常量:常量使用以下划线分隔的大写命名,如 MAX_OVERFLOW = 100
3.格式统一
-
编码:无特殊情况下统一使用 UTF-8 编码,文件头部必须加入# -*- coding:utf-8 -*- 标识
-
缩进:统一使用 制表符(“\t”) 进行缩进
-
行宽:每行代码尽量不超过 80 个字符
-
引号:自然语言使用双引号,机器标示使用单引号,如dict中的key,文档字符使用3个双引号
-
空行:模块级函数和类定义之间空两行;类成员函数之间空一行;
-
空格:涉及空格注意使用地方有:
->在二元运算符两边各空一格[=,-,+=,==,>,in,is not, and],如 hy2 = x * x + y * y
->函数的参数以逗号分隔,逗号之后要有空格,如def complex(real, imag)
->函数的参数列表中,默认值等号两边不要添加空格
->左括号之后,右括号之前不要加多余的空格
->字典对象的左括号之前不要多余的空格
-
换行:代码过长可使用反斜杠(“\”)换行,长字符串也可如此
-
docstring:所有的公共模块、函数、类、方法,都应该写 docstring 。docstring 的结束"""应该独占一行,除非此 docstring 只有一行
-
注释:有单行注释与多行注释两种方式:
->单行注释:若注释独占一行,#号顶头,空1格后写注释;若是行尾注释,空2格后#号再空1格写注释
->多行注释:可用三对双引号 或 三对单引号 ,但推荐使用三对双引号
->紧记,重要语句、关键语句、难解读的语句必须添加注释
-
文档注释:文档注释以 """ 开头和结尾, 首行不换行, 如有多行, 末行必需换行
4.使用方式统一
(1)账号密码、密钥密令、email等统一从config.json文件中读取
(2)try ... except 使用方式
-
exception宗旨是捕捉代码执行时发生的异常告警,从而进行处理:或处理异常,或跳过往下执行代码
-
关键步骤 或 需要有正确返回地方,不要使用try ... except 忽略异常告警而继续往下执行
-
非关键步骤 或 失败后而不会影响下面程序执行的步骤 或 循环体中步骤,可使用try ... except 忽略异常告警
-
自定义函数中的输出异常,要带上本函数名,格式为print(function_name,”:”,er)
(3)注意细节点
-
变量和传参不要使用关键字
-
不要将列表设置为函数参数的默认值