python编码规范

目标:写出优雅的代码

PEP8编码规范

命名规范
  1. 模块命名尽量短小,使用全部小写的方式,可以使用下划线
  2. 函数命名使用全部小写,可以使用下划线,私有函数一般在前面加个下划线
  3. 常量命名使用全部大写,可以使用下划线
  4. 类的属性(方法和变量)使用全部小写,可以使用下划线
  5. 包命名尽量短小,使用全部小写,不可以使用下划线
  6. 避免使用混淆字母,如‘l’、‘o’等
  7. 类命名使用AaBb的格式驼峰法,模块内部采用_AaBb的格式
  8. 异常命名AaBb+Error的方式
  9. 全局变量尽量只在模块内有效,好像C的static,一种实现方式是_all_机制,一种是前缀一个下划线
  10. 类的属性鱼关键字冲突,可以后缀下划线,不要使用缩略
  11. 为了避免与子类属性命名冲突,可以前缀两个下划线。
  12. 类的方法的第一个参数必须是self,而静态方法第一个参数必须是cls
代码规范
  1. 缩进,四个空格,不要使用Tap
  2. 每行代码由长度限制,不宜太长,换行最好使用圆括号,谨慎使用反斜杠
  3. 类中的方法定义之间空一行;类和顶层函数定义之间空两行;函数内逻辑无关段落空一行,其他地方不空行
  4. 不要用分号将两条命令放在同一行,一行写一条命令
  5. 尽量使用is/is not取代‘==’
  6. 异常中不要使用裸露的except,except后跟具体的exeptions
  7. 异常中try的代码要少
  8. 使用startswith() and endswith()代替切片进行序列的前缀或后缀检查
  9. 使用isinstance()比较对象的类型
  10. 二进制数据判断使用 if boolvalue
文档规范
  1. 模块内容的顺序

  2. 每个import语句只导入一个模块,尽量避免一次导入多个模块,从大到小,顺序为:标准库、相关主包、特定应用

    1
    2
    import os
    import sys
空格
  1. 右括号、逗号、冒号、分号前面不要空格
  2. 函数和序列的左括号前不要空格,list[2]
  3. 操作符的左右各加一个空格,如 + ,‘*,=’两边不空格,
  4. if/for/while语句中需要另起一行
注释
  1. 最好是英文注释,完整的句子,首字母大写,句后有结束符
  2. 尽量多使用块注释,在一段代码前增加注释,#后面加一个空格,减少行注释和不必要注释
  3. 为所有的共有模块、函数、类、方法写docstrings,私有的不一写,但可以在def后提供一个块注释说明

Flake8、Pylint代码风格检查工具

休息一下,喝杯咖啡,继续创作