python规范-编码规范

代码编排

  1. 缩进: 使用4个空格作为缩进, 不要使用tab、更加不要混用tab和空格

  2. 每行最大字符长度79,  需要换行时使用反斜杠'\'进行换行

  3. 定义class空2行, 定义function空1行。 class中方法之间空一行, (if-else)逻辑处理无关空一行, 其他尽量不空行

文档编排

  1. 不要在一句import中多个库, 比如import os,sys

空格使用

  1. 逗号、冒号、分号前不使用空格

  2. 操作符左右各一个空格,不要为了对齐代码而增加空格

  3. 不要将多条语句写在同一行

  4. if/while/for语句中, 哪怕执行语句只有一条, 也必须另起一行

命名规范

  1. 尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母。

  2. 模块命名全部小写, 可以使用下划线

  3. 包命名全部小写, 不可以使用下划线

  4. 类的命名使用CapWords(大驼峰法)这种方法, 模块内部使用的类使用_CapWords的方式

  5. 异常命名使用CapWords + Error后缀的方式

  6. 全局变量使用'__all__'机制或在变量前加下划线'_', 使其只在模块内生效

  7. 函数命名全部小写, 可以使用下划线

  8. 常量命名全部大写,可以使用下划线

  9. 类的属性如果与关键字冲突, 则后缀下划线,不要缩略。

  10. 类的方法第一个参数必须是self, 静态方法第一个参数必须是cls

编码建议

  1. 字符串拼接尽量使用''.join()的方式,而不是使用操作运算符'+',在某些版本的python中, ‘+’的性能会非常低下

  2. 尽可能使用is, is not代替==, 比如if x在特定条件下会导致判断错误, 而if x not None 不会。  

  3. 使用基于类的异常, 每个模块或包都有自己的异常类, 通常都是继承自Exception基类。

  4. 异常中以及捕捉异常时, 不要使用裸露的except, 而是在except后紧跟具体的异常名称, 如: except RuntimeError

  5. try的代码尽可能的少, 而不是尽可能的多

  6. 使用startswith和endswith来进行前缀或后缀的检查,而不是使用切片

  7. 使用isinstance来比较对象的类型, 而不是使用type(obj) == obj

  8. 由于python著名的PIL问题, 在使用python3以下版本时, 如果需要用到多线程,尽量使用multiprocessing.dummy提供的多线程而不是threading

注释

    1. 错误的注释不如不注释, 所以在代码更改之后注释也要即时更新

    2. 尽量少或不使用行注释, 而选择使用块注释

    3. 可以使用文档描述的方式来代替注释介绍函数/类的作用、使用方式、可能抛出的异常等

posted @ 2019-04-25 20:29  番茄土豆西红柿  阅读(131)  评论(0)    收藏  举报
TOP