2018最新Python编程规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python编程规范
签署:(管理者代表)
日期:
修订记录
目录
1. Purpose目的 (4)
2. Scope适用范围 (4)
3. Roles and Responsibilities角色和职责 (4)
4. Procedure程序要求 (4)
4.1 General Requirements总要求 (4)
4.2 总则 (5)
5. Reference Documents参考文档 (7)
5.1 External Reference外部参考文档 (7)
5.2 Internal Reference内部参考文档 (7)
5.3 Record记录模板 (8)
6. Terms and Definitions缩略语和定义 (8)
6.1 Definitions定义 (8)
6.2 Acronym缩略语 (8)
1. Purpose目的
本程序文件指导Python代码编写,旨在通过程序文件规范编码,通过编码规范来提高代码质量、代码可读性和可维护性。

2. Scope适用范围
本程序文件适用于开发部项目开发过程中所有Python代码。

3. Roles and Responsibilities角色和职责
4. Procedure程序要求
4.1 General Requirements总要求
1、对于命名的规则,各模块负责人应能给出各自明确的命名规则。

2、对于错误的处理机制和要求,各模块负责人应能给出明确的要
求。

3、对于各自的日志处理,各位模块负责人最好能把日志消息分为
高、中、低或其他形式不同的等级,同时对日志有明确的要求。

4、项目组内多人开发时,需要统一变量命名规则,保持风格的一
致性。

5、本规范分为强制规范和推荐规范,强制规范以黑色字体表示,
推荐规范以蓝色字体表示。

4.2 总则
1、标识符的命名应该使用具有实际含义的英文单词作为标识符的名称。

➢具体的标识符包括:包名、类名、方法名、属性名、方法参数、局部变量名等;
➢要求使用具有实际含义的英文单词作为标识符的名称,不应该使用汉语拼音、数字序列等作为标识符的名称,如:Class Yonghu(用户)、int
C_1001都不是符合规范的标识符。

➢标识符应该尽量使用完整的英文单词的组合作为标识符的名称,当需要使用缩写时,只能使用计算机领域或业务领域内公认的缩写,如:url、
html等就是符合规范的缩写;缩写的大小写要求同普通英文单词,具体
视标识符的类型而定。

2、模块名称应该全部使用小写字母和下划线。

➢如:core.cache_service就是一个符合规范的模块路径。

3、包的命名尽量短小,使用全部小写的方式,不可以使用下划线。

如:mon.token_service是一个符合规范的包名(其中core和common都表示不同层级的包名)
mon_service.token不符合命名规范的包名,其中common_service 应该是一个包名,但是包含的下划线
4、类的名称通常使用名词,并且首字母大写,如果类名由多个英文单词组成时,每个英文单词的首字母也要大写。

模块内部使用的类采用_CapWord的方式。

不符合规范的类名如:
class metadata
class Metadatafactory
符合规范的如:
class Metadata
class MetadataFactory
类名的首字母大写,类名由多个英文单词组成时,每个英文单词的首字母大写。

5、函数命名使用全部小写的方式,可以使用下划线。

6、类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线。

7、类的属性有三种作用域public,non-public和subclass API,non-public 属性的成员函数需要加上一个下划线做前缀。

8、类的属性若与关键字名字冲突,使用后缀一个下划线,尽量不要使用更加缩略或其他方式
9、异常命名使用CapWords+Error后缀的方式
10、静态常量要全部使用大写字母;常量由多个单词组成时,单词之间使用_隔开。

符合规范的示例如下:
SESSION_MAX_NUMBER = 20;
DEFAULT_CLASS_NAME = “BaseBean”;
常量全部使用大写字母,如常量由多个单词组成时,单词之间使用_隔开。

11、代码缩进使用4个空格的缩进,不要使用Tap,更不能混合使用tab 和空格
12、每行最大长度为100个字符,换行可以使用反斜杠,最好使用圆括号,换行点要在操作符的后边。

13、类和上一个函数定义之间空两行,类中的方法定义之间空一行,函数内逻辑无关段落之间空一行。

14、导入模块的顺序:按照标准,三方和自己编写的顺序依次排放,之间空一行。

15、空格的使用
➢各种右括号前不要加空格
➢逗号、冒号、分号前不要加空格
➢函数的左括号前不要加空格,如func(1)
➢序列的左括号前不要加空格,如list[1]
➢操作符左右各加一个空格,不要为了对齐增加空格。

➢函数默认参数使用的赋值符左右省略空格
16、注释规范
➢注释必须跟当前代码保持一致。

➢块注释,在一段代码前增加的注释。

在#后面加一个空格。

段落之间以只有#的行间隔。

➢行注释,在一句代码后面加注释。

17、函数体积
函数的体积严重影响阅读性,所以对于一个产品的全部代码,90%的函数体积需要保持在小于30行,其中不包括注释和空行。

其他编码注意事项:
➢尽可能使用is/is not取代’==’,比如if x is not None要优于if x ➢使用基于类的异常,每个模块或者包都有自己的异常类,此异常类继承自Exception
➢异常中不要使用裸露的except,except后跟上具体的exceptions
➢异常中try的代码尽可能的少。

5. Reference Documents参考文档
5.1 External Reference外部参考文档5.2 Internal Reference内部参考文档
《软件开发程序》
5.3 Record记录模板

6. Terms and Definitions缩略语和定义
6.1 Definitions定义
6.2 Acronym缩略语

(注:可编辑下载,若有不当之处,请指正,谢谢!)。

相关文档
最新文档