一:背景
用于规范化ocp python开发,对于使用python开发的程序使用统一的风格,便于代码的维护
二:python风格规范
分号:不要在行尾加分号,也不要用分号将两条命令放在同一行
括号:宁缺毋滥的使用括号。除非是用于实现行连接,否则不要在返回语句或者条件语句中使用括号,不过在元组两边使用括号是允许的
缩进:用4个空格来代替缩进代码。绝对不要用tab,也不要tab和空格混用。对于行连接的情况,你应该要么垂直对齐换行的元素,或者使用4空格的悬进式缩进(这时第一行不应该有参数)
空行:顶级定义之间空两行,比如函数或者类定义。方法定义,类定义与第一个方法之间,都应该空一行。函数或者方法中,某些地方要是你觉得合适,就空一行
空格:按照标准的排版规范来使用标点两边的空格。括号内不要有空格;不要在逗号、分号、冒号前边加空格,但应该在它们后边加(除了在行尾);参数列表、索引或者切片的左括号不应加空格;在二元操作符两边都加上一个空格,比如赋值(=),比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not),布尔(and, or, not)。至于算术操作符两边的空格该如何使用,需要你自己好好判断。不过两侧务必要保持一致;当’=’用于指示关键字参数或默认参数值时,不要在其两侧使用空格;不要用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:, #, =等)
导入方式:每个导入独占一行。导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前。导入应该按照最通用到最不通用的顺序分组:标准库导入;第三方库导入;应用程序指定导入,每个分组中应该根据每个模块的完整包路径按照字典顺序排序,忽略大小写
语句:通常每个语句应该独占一行。如果测试结果与测试语句在一行放得下,也可以将它们放在一行。如果是if语句,只有在没有else时才能这样做。特别地,绝对不要对try/except这样做,因为try和except不能放在同一行。
命名:ob_module_name ob_package_name ObClassName TestObClassName method_name test_method_name ExceptionName function_name GLOBAL_VAR_NAME instance_var_name function_parameter_name local_var_name
其它点待后续补充
三:要求:
代码修改后必须先跑pylint再发起review,pylint跑分要控制在90之上,对于一些显而易见的不合规范之处必须修正
pylint使用:在obztools目录下执行tools/pylint.sh file
四:参考:
PEP 8 – Style Guide for Python Code:http://legacy.python.org/dev/peps/pep-0008/
Python 编码风格指南中译版(Google SOC):http://www.elias.cn/Python/PythonStyleGuide?from=Develop.PythonStyleGuide
Atas ialah kandungan terperinci Python代码规范说明. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!