影刀RPA完全指南:流程开发规范、命名约定与版本管理的完整体系

流程写多了你就会发现,写得快的流程不一定好维护,写得规范的流程才能陪你走得更远。 我曾经接手过一个离职同事留下的流程,变量名叫a、b、c,注释一行没有,子流程文件名是“新建流程1”“新建流程2”。改一个功能花了整整两天,比重新写还费劲。

这篇文章不是给大厂程序员看的规范文档,而是我作为一个非技术人员,在实际工作中摸索出来的实用规范。每一条都是踩过坑之后的经验,适合单人开发也适合小团队协作。

picture.image


为什么需要开发规范?三个真实场景

picture.image

场景一:流程跑得好好的,改一个参数就全崩了

原因:流程里的关键数值(超时时间、等待时长、重试次数)全部写死在指令参数里,没有统一管理。改一个地方漏了其他地方,流程就出问题。

picture.image 场景二:一个月前写的流程,现在看不懂了

原因:变量命名随意,注释几乎没有。看到a = 获取元素文本(元素1),完全想不起来a存的是商品标题还是店铺名称。

场景三:两个子流程拼在一起,参数对不上

picture.image

原因:子流程的输入输出参数没有文档记录,全靠调用的时候现看。A子流程输出的列表是[标题, 价格, 销量],B子流程期待的是[标题, 价格, 链接],拼在一起全乱套。

这些问题都能靠一套简单的开发规范来解决。下面从命名约定、指令配置、注释规范、版本管理四个维度展开。

picture.image

命名约定(变量、流程、子流程、元素库)

变量命名规则

picture.image

核心原则:让变量名自己能说话,看名字就知道存的是什么。

类型命名规则示例说明

picture.image | 字符串 | 小写+下划线,描述性名称 | product_titleshop_namesearch_keyword | 清晰描述内容 | | 数字 | 同上,加_count/_num后缀 | page_countretry_numtotal_items | 一眼看出是数字 | | 列表 | 同上,加_list后缀 | url_listdata_listkeyword_list | 表示这是列表类型 | | 字典 | 同上,加_dict后缀 | product_dictconfig_dict | 表示这是字典类型 | | 布尔值 | 同上,用is/has/can开头 | is_logged_inhas_next_pagecan_retry | 布尔值用疑问句式 |

picture.image | 临时变量 | 加_temp前缀或后缀 | temp_pricetemp_title_temp_list | 用完即弃的数据 | | 循环变量 | 单字母或简短名称 | ijitemurl | 只在循环内部使用 |

错误示例 vs 正确示例:

a = 获取元素文本(商品标题)
✅ product_title = 获取元素文本(商品标题)

❌ list1 = 读取Excel数据()
✅ keyword_list = 读取Excel数据()

❌ flag = Trueis_login_valid = True

流程文件命名规则

类型命名规则示例
主流程MAIN_业务名称MAIN_拼多多商品采集
子流程S模块编号_功能描述S02_01_采集_商品列表页
测试流程TEST_测试内容TEST_价格清洗函数
模板流程TPL_模板名称TPL_翻页采集模板
废弃流程OLD_原名称_日期OLD_商品采集_20251201

元素库命名规则

元素库里的元素多了以后,不命名根本找不到。我的规则是:平台_页面_功能_版本

拼多多_首页_搜索框

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/2fe4e516e9394306a22d32b3fa55a30a~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1783711708&x-signature=2le6S8NwasEMgV0TcyUFO5G4IfY%3D)
拼多多_详情页_商品标题
拼多多_详情页_加入购物车按钮
小红书_搜索结果_笔记卡片
小红书_详情页_点赞数

这样按平台分组,在元素库里搜索“拼多多_”就能列出所有相关元素。

子流程参数命名规则

入参加前缀in_,出参加前缀out_,一目了然。

输入参数:in_url、in_keyword、in_max_pages
输出参数:out_data_list、out_success、out_error_msg

指令配置规范(让流程可维护)

规范一:所有数值类参数用变量代替字面量

错误写法:

等待时间:5(秒)
超时时间:15(秒)

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/774c33e5006c44269ecd356d58f9120b~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1783711708&x-signature=NYtebB10AYB7012QGsbC82aTDSk%3D)
循环次数:20(次)

正确写法:

等待时间:WAIT_TIME_SHORT
超时时间:TIMEOUT_DEFAULT
循环次数:MAX_PAGES

在主流程开头统一初始化这些变量:

# 配置参数初始化
WAIT_TIME_SHORT = 3(秒)
WAIT_TIME_MEDIUM = 5(秒)
TIMEOUT_DEFAULT = 15(秒)
TIMEOUT_LONG = 30(秒)
MAX_PAGES = 20(页)
MAX_RETRY = 3(次)

这样如果要调整超时时间,只需要改一个地方,所有用到该时间的指令自动生效。

变量集中管理的进阶做法: 把配置参数单独放在一个Excel或配置文件中(比如config.xlsx),主流程启动时先读取配置文件加载所有参数。这样修改配置不需要打开流程文件,运营人员也能操作。

规范二:每条关键指令加注释

影刀RPA的每条指令右侧都有一个“备注”输入框。利用好这个功能:

指令:获取元素文本
备注:# 取商品标题,用于后续写入Excel
指令:点击元素
备注:# 点击“下一页”按钮,翻页采集
指令:写入行数据到表格
备注:# 写入一条商品数据,列顺序:标题/价格/销量/店铺

规范三:流程分块用注释块做分隔

当流程超过50步时,建议用注释块做视觉分隔:

========================================
# 模块一:登录与登录态检查
========================================
(登录相关指令)

========================================
# 模块二:关键词搜索
========================================
(搜索相关指令)

========================================
# 模块三:翻页采集
========================================
(采集相关指令)

========================================
# 模块四:数据写入
========================================
(写入相关指令)

这样滚动查看流程时能快速定位到目标模块。


注释规范(给未来的自己和别人看)

流程文件头注释

每个流程文件的顶部,加一段文件头注释:

================================================
流程名称:MAIN_拼多多商品采集
功能描述:根据关键词列表采集拼多多商品数据,包含列表页采集和详情页价格采集
创建人:林焱
创建日期:2026-01-06
最后修改:2026-01-06
版本号:v2.3
依赖子流程:S02_01、S02_02、S05_01、S04_01
注意事项:需要配置代理IP;建议凌晨执行;最大采集页数20页
================================================

子流程文件头注释

子流程的文件头注释要更详细,因为它是被多个地方调用的:

================================================
子流程名称:S02_02_采集_商品详情页
功能描述:采集单个商品详情页的完整数据
创建人:林焱
创建日期:2026-01-06
版本号:v1.2

输入参数:
  - in_url(字符串,必填):商品详情页URL
  - in_timeout(数字,可选,默认15秒):超时时间

输出参数:
  - out_data(列表):[标题, 价格, 详情, 规格, 店铺名]
  - out_success(布尔值):采集是否成功
  - out_error(字符串):失败时的错误信息

依赖指令:无
修改记录:
  - v1.0 2026-01-06:初始版本
  - v1.1 2026-01-10:优化了价格XPath,兼容券后价
  - v1.2 2026-01-15:增加了规格采集
================================================

复杂XPath的注释

XPath表达式本身就很抽象,如果不加注释,过两周你自己都看不懂。

# 捕获元素:拼多多商品价格
# 定位策略:先找class包含price的容器,再取其中的数字部分
//*[contains(@class,"price")]//span[contains(@class,"value")]

# 捕获元素:小红书点赞数
# 定位策略:通过点赞图标的父级容器定位,取子元素的文本
//*[contains(@class,"like-wrapper")]//span[contains(@class,"count")]

# 捕获元素:下一页按钮(兼容有/无disabled状态)
# 定位策略:取class包含next或pagination的按钮,过滤掉disabled的
//*[contains(@class,"next") and not(@disabled)] | //*[contains(@class,"pagination") and not(@disabled)]

版本管理策略(小团队够用版)

不需要用Git那么复杂的东西,小团队用这套简单版本管理就够用了。

版本号规则

v主版本.次版本.修订号

  • 主版本号:流程架构大改,参数接口不兼容(如把采集字段从5个改成10个)
  • 次版本号:新增功能,但向后兼容(如增加了一个新的清洗步骤)
  • 修订号:Bug修复、小优化(如调整了某个等待时间)

版本记录表

在项目文件夹里放一个版本记录.xlsx

日期版本流程名修改内容修改人
2026-01-06v2.3MAIN_拼多多商品采集增加价格清洗函数林焱
2026-01-10v2.2MAIN_拼多多商品采集修复翻页超时问题林焱
2026-01-05v2.1S02_01_采集_商品列表页优化XPath兼容性林焱

文件备份策略

每次发布新版本前,把当前流程复制一份,文件名加上旧版本号:

拼多多商品采集_v2.2.bak
拼多多商品采集_v2.1.bak

保留最近3个版本即可,更早的可以删掉或归档到备份文件夹。


开发规范速查表

检查项要求检查结果
变量命名用描述性名称,带类型后缀
数值参数用变量代替字面量
关键指令加备注说明
流程分块用注释块分隔
文件头注释包含功能、作者、日期、版本
子流程头注释包含参数说明和修改记录
元素库命名平台_页面_功能
版本号遵循v主.次.修格式
版本记录有Excel记录表

推荐资源

  • 影刀官方-开发规范文档:影刀官方有一套流程开发规范建议,在官网学习中心可以找到,比本文更详细。
  • 飞书/钉钉流程管理表模板:建议用飞书多维表格或钉钉文档建一个“流程管理表”,记录所有主流程和子流程的基本信息,方便团队成员查询。

#影刀RPA #RPA自动化 #开发规范 #流程规范 #版本管理 #命名约定

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

0
0
0
0
评论
未登录
暂无评论