因为项目团队中新加入了几名攻城狮, 你们以前的背景各不相同,写出的代码也是“风格迥异”。正所谓:“无规则不成方圆”,所以须要对编程进行必要的规范。html
总体的思路是:依照PEP8 Python 编码规范,并结合本身团队的实际状况来定义一些规则。node
1 缩进。4个空格的缩进(编辑器均可以完成此功能),若是使用nodepad++请不要使用默认的Tab,更不能混合使用Tab和空格。python
2 每行最大长度为80,换行可使用反斜杠 "\",最好使用圆括号。换行点要在操做符的后边敲回车。git
3 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其余地方尽可能不要再空行。 github
4 模块内容的顺序:模块说明和docstring—import—globals&constants—其余定义。编程
1 import部分,又按标准、三方和本身编写顺序依次排放,之间空一行。 编辑器
2 不要一次import中多个库,好比import os, sys不推荐。ide
1 各类右括号前不要加空格。函数
2 逗号、冒号、分号前不要加空格。ui
3 函数的左括号前不要加空格。如Func(1)。
4 序列的左括号前不要加空格。如list[2]。
5 操做符左右各加一个空格,不要为了对齐增长空格。
6 函数默认参数使用的赋值符左右省略空格。
7 不要将多句语句写在同一行,尽管语法容许使用";"。
8 if/for/while语句中,即便执行语句只有一句,也必须另起一行()。
注释必须使用英文,最好是完整的句子,首字母大写,句后要有结束符,结束符后跟两个空格,开始下一句。若是是短语,能够省略结束符。
1 块注释,在一段代码前增长的注释。在‘#’后加一空格。段落之间以只有‘#’的行间隔。
2 行注释,在一句代码后加注释。好比:x = x + 1 # Increment x
3 避免无谓的注释。
1 模块命名尽可能短小,使用所有小写的方式,可使用下划线。
2 包命名尽可能短小,使用所有小写的方式,不可使用下划线。
3 类的命名使用CapWords的方式,模块内部使用的类采用_CapWords的方式。
4 异常命名使用CapWords+Error后缀的方式。
5 全局变量尽可能只在模块内有效,相似C语言中的static。统必定义在一个模块中。
6 函数命名使用所有小写的方式,可使用下划线。
7 常量命名使用所有大写的方式,可使用下划线。
8 类的属性(方法和变量)命名使用所有小写的方式,可使用下划线。
9 类的属性有3种做用域public、non-public和subclass API,能够理解成C++中的public、private、protected。non-public属性前,前缀一条下划线。
https://github.com/google/styleguide/blob/gh-pages/pyguide.md
http://www.runoob.com/w3cnote/google-python-styleguide.html
https://www.cnblogs.com/haishiniu123/p/7125677.html