流程跑了一个月后,回去看自己写的代码——变量名叫a、b、temp,子流程叫子流程1、子流程2,完全想不起来当初是干什么的。
如果是团队协作,别人更看不懂你的流程。
规范不是形式主义,是给自己省时间。
我踩了半年坑后总结了一套命名规范,现在回头看半年前的流程,5分钟就能找到要改的地方。
一、应用命名:一眼知道这个流程是干嘛的
命名格式
[平台]_[业务]_[版本号]
示例

拼多多_商品价格监控_V2.3
淘宝_自动上架_V1.0
小红书_达人数据采集_每日版
TEMU_订单批量发货_正式

规则解读
- 平台前缀:方便按平台分类(拼多多、淘宝、小红书、TEMU、飞书)
- 业务描述:2-6个字,说清楚核心功能(价格监控、自动上架、数据采集)
- 版本号:V1.0、V2.3,每次大改版升级版本,小修复不改
影刀操作
应用名称在左上角可以修改,建议创建时就按规范命名,不要用默认的“新建应用1”。
二、子流程编号:ABCD法 + 两位数字
命名格式
[字母前缀][两位数字]_[功能描述]
字母前缀含义(参考选题池13号)
| 前缀 | 含义 | 示例 |
|---|---|---|
| A | 初始化 | A01_打开浏览器并登录 |
| B | 批量/循环 | B01_翻页采集控制器 |
| C | 单次解析 | C01_解析商品卡片 |
| D | 数据处理 | D01_清洗价格销量 |
| E | 输出 | E01_写入Excel |
| F | 异常处理 | F01_验证码处理 |
| Z | 测试/调试 | Z01_测试单个商品 |
数字规则
- 从01开始递增
- 同一前缀内按执行顺序编号
- 如果需要插入新子流程,用
A02_1(不推荐,说明前期规划不足)
示例:一个完整的采集应用
主流程(不编号,就叫“主流程”)
A01_登录淘宝
A02_进入搜索页
B01_翻页采集控制器
├── C01_采集当前页商品列表
├── C02_解析单个商品(被C01调用)
└── C03_翻页到下一页
D01_数据去重与清洗
E01_写入Excel并发送飞书通知
F01_重试机制(被C02调用)
影刀操作
创建子流程时,名称框里直接输入A01_登录淘宝。
子流程列表会按字母+数字自动排序,非常清晰。
三、元素命名:不用默认的“元素1”“元素2”
命名格式
[页面/模块]_[功能]_[类型]
示例
首页_搜索框_输入框
搜索结果页_商品卡片_父容器
搜索结果页_商品标题_文本
详情页_价格_文本
详情页_购买按钮_按钮
登录页_下一页按钮_按钮
规则
- 页面/模块:定位元素在哪一页(首页、搜索结果页、详情页、登录页)
- 功能:这个元素是干嘛的(搜索框、商品卡片、价格、购买按钮)
- 类型:可选,标注元素类型(输入框、按钮、文本、父容器、链接)
好处
- 在元素库里搜索“价格”,能看到所有页面的价格元素
- 翻页时不会把“首页_下一页”和“搜索结果页_下一页”搞混
- 团队协作时,别人一看名字就知道该用哪个
影刀操作
捕获元素后,在弹出的命名框里直接改,不要点确定后再改。
四、变量命名:见名知意,带类型前缀
命名格式
[类型前缀]_[描述]
类型前缀(我用这套)
| 前缀 | 含义 | 示例 |
|---|---|---|
| str_ | 文本 | str_商品标题、str_登录URL |
| int_ | 整数 | int_页码、int_采集条数 |
| list_ | 列表 | list_商品卡片、list_价格列表 |
| dict_ | 字典 | dict_商品数据、dict_请求参数 |
| bool_ | 布尔 | bool_是否有下一页 |
| obj_ | 对象 | obj_Excel对象、obj_浏览器页面 |
示例
好的变量名:
str_关键词 = "运动鞋"
int_当前页码 = 1
list_商品数据 = []
bool_登录成功 = False
obj_Excel = 打开Excel("C:\data.xlsx")
差的变量名(不要学):
a = "运动鞋"
page = 1
data = []
flag = False
excel1 = 打开Excel(...)
循环内的临时变量
循环遍历列表(list_商品卡片, 当前卡片)
str_标题 = 获取元素文本(当前卡片, ".//a")
str_价格 = 获取元素文本(当前卡片, ".//span")
# 不要用 title、price 这种太通用的名字
影刀操作
创建变量时(“设置变量”指令或流程参数),变量名框里按规范输入。
五、常量集中管理
做法
在主流程最前面,用“设置变量”把所有常量定义好。
str_搜索URL = "https://www.pinduoduo.com/search.html"
int_最大翻页数 = 10
int_等待超时秒数 = 8
str_Excel保存路径 = "C:\RPA_Results\拼多多采集.xlsx"
好处
- 修改URL或路径时,不用翻遍整个流程
- 新人接手时,一看顶部就知道核心参数
进阶:用“全局变量”跨子流程共享
常量可以在“全局变量”面板里定义(左侧“变量管理”),所有子流程都能用。
但注意不要滥用,只在真正需要全局的地方用。
六、注释规范:不是写给自己看的
什么时候必须加注释
- 复杂的XPath(说明为什么这样写)
- 非直觉的数学计算(比如价格单位换算)
- 异常处理的备用方案
- 魔数(为什么是等待3秒而不是2秒)
注释格式
在指令上方加一个“注释”指令(流程控制 → 注释),或右键指令选“添加注释”。
// 注释:等待页面加载完成,等待商品卡片出现(网络慢时8秒足够)
等待元素出现(商品卡片, 8秒, 超时)
// 注释:拼多多销量含“万”字,需要转换,示例“10万+” -> 100000
如果 contains(销量原始, "万")
销量数字 = 转换为数字(正则提取(销量原始, "\d+")) * 10000
不要写的注释
❌ // 设置页码为1(代码本身已经表达了)
✅ // 从上一页采集完成后重置页码,因为翻页函数会自增
七、流程结构规范(文件夹组织)
推荐结构
在影刀左侧“流程”面板,可以创建文件夹来组织子流程。
主流程
├── 01_初始化 (文件夹)
│ ├── A01_打开浏览器
│ └── A02_登录
├── 02_采集 (文件夹)
│ ├── B01_翻页控制器
│ ├── C01_采集当前页
│ └── C02_解析单商品
├── 03_数据处理 (文件夹)
│ └── D01_清洗去重
└── 04_输出 (文件夹)
└── E01_写入Excel
操作
右键“流程” → 新建文件夹,然后拖拽子流程进去。
八、团队协作规范(2人以上)
如果多个人维护同一套流程,还需要加:
1. 变更记录
在应用描述(右上角“应用信息”)里记录每次修改:
2025-01-15 林焱: 增加翻页超时重试机制
2025-01-10 张三: 修改价格XPath适配改版
2. 元素库分组
在元素库里创建文件夹,按页面分:
元素库
├── 首页
│ ├── 首页_搜索框
│ └── 首页_登录按钮
├── 搜索结果页
│ ├── 搜索结果页_商品卡片
│ └── 搜索结果页_下一页按钮
└── 详情页
├── 详情页_价格
└── 详情页_购买按钮
3. 禁止硬编码
不要直接把账号密码写在流程里。用“输入参数”或“全局变量”从外部传入,或者用影刀的“凭证管理器”(企业版功能)。
九、常见问题速查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 子流程叫“子流程1”,找不到了 | 创建时没改名 | 右键重命名,按ABCD规范改 |
| 变量名用了中文,Python代码报错 | Python不支持中文变量名(除非用UTF-8声明) | 统一用英文或拼音,加前缀 |
| 元素库里几十个元素,不知道用哪个 | 没按页面分组 | 创建文件夹,拖进去分类 |
| 改了常量值,但流程没生效 | 常量定义在子流程内部,没传到主流程 | 把常量统一放在主流程开头,用流程参数传递 |
| 团队成员用了不同的命名风格 | 没有书面规范 | 打印本文贴墙上,或存团队文档 |
十、规范检查清单(跑流程前自查)
- 应用名称包含平台和业务?
- 子流程按ABCD编号?
- 元素命名包含页面和功能?
- 变量加了类型前缀?
- 常量集中在流程顶部?
- 复杂XPath加了注释?
- 没有叫
a、b、temp的变量? - 没有叫
子流程1、元素1的默认名?
推荐资源
- 影刀官方学院: “最佳实践——流程开发规范”(有官方推荐命名规则)
- 我的文章联动:
- 子流程拆分:[子流程拆分原则(选题池13号)]
- 流程参数:[流程参数实战(选题池14号)]
- 工具推荐: 用影道的“搜索”功能(Ctrl+F),可以搜变量名、元素名、指令内容,规范命名后搜索效率翻倍
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
