命名规范
文件命名:测试文件应该以 test_
开头,以 _test.py
结尾,例如:test_my_module_test.py
。
函数命名:测试函数应该以 test_
开头,描述清楚被测试的功能或行为,使用下划线分隔单词,例如:test_addition()
。
模块级别的测试函数命名:如果测试需要在整个模块中共享状态,可以使用 setup_module()
和 teardown_module()
函数,同样以 test_
开头。
类级别的测试函数命名:如果使用类来组织测试,测试方法应该以 test_
开头,例如:test_add_method()
。
断言方法:在测试函数中使用断言方法来验证预期结果,如 assert
、assertEqual
、assertTrue
等。
代码结构
使用模块和包来组织代码,避免将所有代码放在一个文件中。
按照功能模块划分代码,遵循单一职责原则。
注释和文档
使用清晰的注释解释代码的逻辑和功能。
为函数和类编写文档字符串(docstrings),描述其作用、参数和返回值等信息。
异常处理
使用 try-except 块捕获和处理异常。
避免使用裸露的 except,尽量指定具体的异常类型。
单元测试
编写单元测试来验证接口的功能和行为。
使用 pytest 等测试框架进行测试。
版本控制
使用版本控制系统(如Git)管理代码,确保代码的版本可追踪和可恢复。
代码风格
遵循 PEP 8 规范,保持一致的代码风格。
关于PEP 8的主要内容包括:
缩进: 使用四个空格来缩进代码,而不是制表符(Tab)。
行长度: 每行代码尽量不要超过79个字符,可以使用括号换行或者继续符号 \ 进行换行。
命名规范: 变量名使用小写字母,单词之间使用下划线 _ 分隔(snake_case),类名使用驼峰命名法(CamelCase)。
空格: 在运算符两侧和逗号后添加空格,但不要在括号内部的空格。
注释: 使用清晰简洁的注释来解释代码的逻辑和功能,注释应该独占一行,避免在代码行末尾添加注释。
导入: 导入语句应该分成三个部分:标准库导入、第三方库导入和应用程序特定导入,每个部分之间用一个空行分隔。
空行: 在函数和类定义之间、类方法之间以及逻辑代码块之间添加空行,提高代码的可读性。
检查方法
日志记录
使用日志记录(logging)来记录关键操作和调试信息,便于排查问题。
环境管理
尽量使用虚拟环境管理工具(如virtualenv、conda)来管理项目依赖,避免依赖冲突。
安全性
避免硬编码敏感信息,如密码、API密钥等。