编程规范
- if语句多个条件优先级顺序由高到低:not、and、or
- 安全加密时禁止使用random模块生成的伪随机数,而使用os模块的
urandom()
函数
📌 判空
- 判断变量为None:
if var is None
- 判断变量非空:
if var
- 判断变量为空:
if not var
- 判断浮点型是否相等不能使用==,存在精度问题,可使用
if math.close(a, b)
📌 作用域
Python在解析一个被引用的名字时遵循LEGB规则,即local、enclosing、global、builtin
- local:局部变量,函数内部定义的变量,函数参数
- enclosing:外层函数的变量
- global:全局变量,在函数外定义的变量
- builtin:内置函数,如len()
📌 自动化
自动化代码应当遵循:
- 确定,明确的执行结果或断言。
- 密闭,减少外部依赖,排除不确定因素。
- 清晰,描述清晰,逻辑可读可理解,日志可定位。
- 复用,测试数据及逻辑合理服用,使代码更简洁易维护。自顶向下,相似的业务逻辑合并,提高重用性。
- 一致,代码与用例意图、步骤保持一致。
用例步骤应包括:
预置->测试过程->断言->后置
日志级别一般包括:
step
-步骤、debug
-调试信息、info
-上下文、warning
-警告、error
-错误异常