Python代码审查是保障可维护性、可读性和健壮性的协作过程,核心聚焦命名清晰性、函数单一职责、异常处理合理性、依赖可测试性四大高频要点。
Python代码审查不是挑错,而是保障可维护性、可读性和健壮性的协作过程。核心目标是让代码“别人能看懂、改得动、跑得稳”。以下是从实践中提炼的高频审查要点,聚焦真实开发场景中的关键风险。
变量、函数、类名应直接反映其用途,避免缩写歧义或过度泛化。
user_profile_data、calculate_discounted_price()、PaymentProcessor
data、func1()、obj、get_info()(没说明是什么的info)is_active、has_permission 而非 active_flag 或 permission
一个函数只做一件事,并能通过名字和参数预判行为范围。
load_config()、validate_config()、log_config_load()
dataclass)或字典传入不捕获所有异常(except:),也不忽略错误细节;要区分“可恢复”与“应中断”的场景。
except FileNotFoundError 处理缺失配置文件,提供默认值或提示except Exception as e: pass 或仅打印 e 而不记录上下文logging.exception() 记录完整堆栈;业务异常(如余额不足)应抛出自定义异常,便于上层统一响应硬编码路径、全局状态、未抽象的外部调用,都会阻碍单元测试和后续重构。
open('/tmp/log.txt')、requests.get('https://api.example.com') 等直连逻辑——应通过参数注入或接口抽象代码审查不是追求完美语法,而是守住团队协作的底线。每次合并前花10分钟对照这几条快速过一遍,能显著降低后期排查成本。