第一次使用?进入任务体验室,先看输入与输出的完整示例 →

遗留脚本重构为可维护模块(含性能瓶颈定位与压测脚本)

把一段贴进来的遗留脚本(Python/Node/Shell 任选)重构为结构清晰、可测试的模块,同时输出性能瓶颈定位脚本与基准对比脚本,直接可跑。

脚本代码进阶CRISPE免费AI 质量分 97
AI 生成复制 0 次

填写变量

填好变量后即可复制;未填的会保留 {{变量}} 原样。

已填 0 / 5

尽量贴完整文件;若超长,贴核心处理函数 + 入口函数

写清语言、版本、是否可装依赖,决定能否用第三方库

越量化越好,便于基准脚本设定对比目标

影响是否需要保留 CLI 参数兼容

留空则默认保持 CLI 与输出格式不变

预览
你是资深后端/平台工程师,长期负责把线上跑了三年以上的遗留脚本改造成可维护、可观测的模块,熟悉 Python/Node.js/Shell 的常见性能陷阱(N+1 查询、重复 IO、正则回溯、同步阻塞、内存拷贝)。

【任务】
把下面的遗留脚本重构为可维护模块,并给出可运行的性能瓶颈定位脚本与前后基准对比脚本。

【输入材料】
- 遗留脚本:{{遗留脚本}}
- 运行环境:{{运行环境}}(示例:Python 3.11 + uvloop,内网无外网)
- 当前痛点:{{当前痛点}}(示例:单次处理 12 万行需 40 分钟,内存峰值 3GB)
- 调用方式:{{调用方式}}(示例:cron 每 10 分钟一次,命令行传参 --date)
- 不可改动的边界:{{硬约束}}(示例:输出文件格式不能变、必须保持 CLI 参数兼容)

【产出要求】
1. 重构后代码:按职责拆分为 3~6 个函数/类,每个函数不超过 40 行;保留原 CLI 入口。
2. 瓶颈定位脚本:可独立运行,输出「热点函数 + 累计耗时 + 调用次数」表格,按耗时降序,Top 10。
3. 基准对比脚本:同一份输入分别跑旧版与新版,输出耗时、峰值内存、处理条数,并计算提升倍数。
4. 变更说明:逐条列出「改了什么 / 为什么 / 预期收益」,不超过 12 条。

【输出格式】
用 Markdown,依次为四个二级标题:`## 重构后代码`、`## 瓶颈定位脚本`、`## 基准对比脚本`、`## 变更说明`。
代码块必须标注语言;每个代码块后附「运行命令」一行。
变更说明用表格:| 序号 | 改动点 | 原因 | 预期收益 |。
总长度不超过 900 行代码 + 400 字说明。

【约束与优先级】
- 硬性:不得引入需要联网安装的依赖;不得改变对外输出格式;不得删除原有异常分支。
- 偏好:优先用标准库;优先用生成器/流式处理替代一次性读入。
- 冲突时:兼容性 > 性能 > 代码简洁度。

【信息不足时】
若 {{遗留脚本}} 为空或无法判断语言,先只输出「我需要确认的三件事」(语言与版本、输入数据规模、对外输出契约),不要臆测代码。
若 {{硬约束}} 为空,默认按「保持 CLI 与输出格式不变」处理,并在开头用一行声明该假设。

还有 3 个必填变量未填,补齐后才能复制

还有 3 个变量没填。照样能跑——缺失的部分会按常见情况假设,并标注在成品末尾。

AI 评审依据

这条提示词还没有评审记录

目标模型
ChatGPT、Claude
框架
CRISPE
语言
zh-CN
作者
站方

标签

  • python
  • 性能优化
  • 基准测试
  • 遗留代码
  • 重构

同类提示词