影刀RPA进阶教程:影刀流程开发规范——应用命名/子流程编号/元素命名/变量命名
一个人写流程,怎么命名都行。
但团队协作或者三个月后自己回头看,变量名a、b、data根本看不懂。
一套简单的命名规范,能让维护时间减少一半。我也是被自己坑过几次后才开始遵守的。
一、应用命名——一看就知道干什么
场景:你的影刀应用列表里有十几个流程,分不清哪个是干什么的。
核心:[平台]_[功能]_[版本] 的格式。
命名模板
{平台}_{业务场景}_{版本号}
示例:
拼多多_商品采集_v2.1
小红书_笔记批量发布_v1.0淘宝_订单导出_每日定时飞书_多维表格同步_v3
操作步骤:
- 新建应用时,在“应用名称”框里按格式填写。
- 版本号用
v主版本.次版本,大改动升主版本,小修小补升次版本。 - 如果流程有定时任务,在名称末尾加
[定时]。
容易踩的坑:
- 不要用
最终版、再也不改了版这种名字。 - 修改流程后记得更新版本号,并在“应用描述”里写改动日志。
二、子流程编号——执行顺序一目了然
场景:主流程里有七八个子流程,不知道谁先谁后。
核心:用A_、B_、C_、D_前缀表示顺序,用公共_表示通用子流程。
命名规范
| 前缀 | 含义 | 示例 |
|---|---|---|
A_ | 初始化(打开浏览器、登录、设置变量) | A_登录淘宝 |
B_ | 主循环/采集逻辑 | B_翻页采集商品 |
C_ | 数据处理(清洗、写入Excel) | C_保存到表格 |
D_ | 收尾(关闭浏览器、发送报告) | D_清理并报告 |
公共_ | 被多个流程调用的通用子流程 | 公共_发送飞书消息 |
测试_ | 临时调试用的子流程,上线前删掉 | 测试_单页采集 |
实操示例
主流程:
├─ 调用 A_初始化
├─ 调用 B_循环翻页
├─ 调用 C_保存结果
└─ 调用 D_收尾

子流程列表:
A_初始化
B_循环翻页

B1_采集单页数据 (B的子流程,用B1表示附属)
C_保存结果
D_收尾
公共_提取数字
容易踩的坑:
- 不要用
1_、2_纯数字,字母前缀可读性更高。 - 子流程名超过25个字会被截断,控制在20字以内。
- 无关顺序的公共子流程不要加字母前缀,用
公共_开头就行。
三、元素命名——在捕获时就写好名字
场景:捕获了20个元素,名字都是元素1、元素2,要用的时候不知道哪个是哪个。
核心:捕获元素时立即重命名为页面_功能_类型。
命名模板
{页面/区域}_{作用}_{类型}
示例:
登录页_用户名_输入框商品列表_下一页_按钮详情页_价格_文本弹窗_关闭_图标
操作步骤:
- 捕获元素后,在右侧详情面板的“元素名称”框里修改。
- 养成习惯:捕获完立刻改名,不要等。
- 同类元素用相似名字:
商品卡片_标题、商品卡片_价格、商品卡片_销量。
影刀专属:
元素名称会在“捕获元素”下拉列表里显示,取个好名字能省去大量查找时间。
如果项目里有很多页面,可以用【模块】前缀分组,如【登录】用户名输入框。
四、变量命名——让别人(包括以后的你)看得懂
场景:变量名叫a、list1、temp,三天后自己也忘了是干嘛的。
核心:用类型_含义的驼峰或下划线命名。
命名规范
| 变量类型 | 前缀 | 示例 |
|---|---|---|
| 字符串 | str_ 或 s_ | str_关键词、s_商品标题 |
| 数字 | int_ 或 n_ | int_当前页、n_总数量 |
| 列表 | list_ | list_商品列表、list_价格数组 |
| 布尔 | is_ / has_ | is_登录成功、has_下一页 |
| 字典 | dict_ | dict_商品信息 |
| 元素对象 | ele_ | ele_登录按钮 |
| 时间 | time_ | time_开始、time_耗时 |
实操示例
# 好的命名
str_搜索词 = "连衣裙"
int_当前页码 = 1
list_商品标题 = []
is_翻页成功 = True
dict_店铺信息 = {"name":"XX旗舰店", "fans":12345}
# 坏的命名(不要学)
a = "连衣裙"
page = 1
list1 = []
flag = True
d = {...}
容易踩的坑:
- 不要用中文变量名(影刀支持但容易出奇怪问题)。
- 不要用Python关键字(如
list、str、dict)做变量名。 - 布尔变量用
is_或has_开头,一眼就知道是True/False。
五、完整规范速查表
| 对象 | 命名格式 | 示例 |
|---|---|---|
| 应用 | {平台}_{功能}_v{版本} | 小红书_采集笔记_v2.0 |
| 子流程(按顺序) | {字母前缀}_{功能} | A_登录、B_采集 |
| 子流程(公共) | 公共_{功能} | 公共_发送飞书 |
| 元素 | {区域}_{作用}_{类型} | 登录页_用户名_输入框 |
| 字符串变量 | str_{含义} | str_商品ID |
| 数字变量 | int_{含义} | int_页码 |
| 列表变量 | list_{含义} | list_商品列表 |
| 布尔变量 | is_{状态} | is_元素存在 |
| 时间变量 | time_{含义} | time_开始 |
六、实操案例:一个规范的流程长什么样
应用名:拼多多_商品价格监控_v1.2
子流程列表:
A_登录拼多多
A1_处理验证码 (A的子流程)
B_搜索关键词
C_获取商品列表
C1_提取单个商品 (C的子流程)
D_保存到Excel
D1_发送飞书报警
公共_等待并点击
主流程调用:
调用 A_登录拼多多
调用 B_搜索关键词 (输入: str_搜索词)
调用 C_获取商品列表 (输出: list_商品数据)
调用 D_保存到Excel (输入: list_商品数据)
变量示例:
str_搜索词= "手机"int_当前页= 1list_商品数据= [{"标题":"iPhone15", "价格":5999}]is_登录成功= True
元素命名:
搜索框_关键词_输入框搜索结果_商品卡片_容器商品卡片_价格_文本
七、常见问题速查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 变量名太长 | 怕写不清楚 | 适中长度,如str_商品名即可,不要str_当前正在采集的商品名称 |
| 子流程A_和B_之间插了一个新流程 | 顺序乱了 | 重新编号,或者用A1_、A2_保持可扩展性 |
| 团队里每个人命名风格不一样 | 没有统一规范 | 打印本规范贴在工位,代码审查时对照 |
| 旧流程不想改了 | 成本太高 | 新流程遵守,旧流程改的时候顺便重命名 |
八、推荐资源
- 影刀官方文档:《开发规范建议》(帮助中心搜索“规范”)。
- 我的习惯:每次新建应用前,先复制上一版的规范子流程命名,再修改。
- 扩展阅读:系列第13篇《子流程拆分原则》——规范的前提是先拆好子流程。
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
