影刀RPA代码可读性实践:写出六个月后自己还看得懂的流程
影刀RPA代码可读性实践写出六个月后自己还看得懂的流程作者林焱一个真实故事六个月前我写了一个自动抓取商品价格并生成日报的流程当时赶时间变量名叫a、b、temp1、temp2没有注释子流程叫子流程1、“子流程2”。六个月后客户让我加一个对比昨天价格标红的功能我花了两小时才看懂自己当初写了什么。那次之后我开始认真对待流程的可读性。这篇文章是我整理的实践方法。为什么流程可读性重要你不只写一次90%的流程都会被修改——加功能、修bug、适配网页改版不只你一个人用发给同事、客户、发到影刀市场别人要能看懂调试效率可读性好的流程找bug的时间减少一半以上未来的你是另一个人三个月后你已经不记得当时的逻辑了变量命名最基础也最重要原则名字要说明这个变量是什么不是这个变量怎么用❌ 差命名a 获取文本() temp 处理(a) result 输出(temp) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3a0066c777ea4ebbbbc8ca4cc3394048.png#pic_center)✅ 好命名商品名称 获取文本() 清洗后的商品名称 去除空格(商品名称) 导出的商品名称 格式化(清洗后的商品名称)常见变量命名规范变量类型推荐命名方式示例列表/集合名词列表商品列表、URL列表计数器名词数量/计数已处理数量、错误计数布尔值是否/Has前缀是否登录成功、是否最后一页临时中间变量临时名词临时商品名、临时URL配置参数配置名词配置_最大重试次数、配置_等待秒数索引名词索引/序号当前页索引、行序号踩坑中英文混用影刀支持中文变量名但如果你的流程要被不懂中文的人使用或者调用 Python 脚本纯中文变量名会造成编码问题。建议店群矩阵自动化突破运营极限纯影刀内部流程用中文直观涉及 Python/API 调用的用英文或拼音子流程命名要说清楚做什么不是叫什么❌ 差命名子流程1 处理数据 执行操作✅ 好命名登录淘宝账号 从列表页提取商品信息 将商品数据写入Excel 检查是否还有下一页命名格式建议动词对象可选条件打开商品详情页✅判断当前页是否为最后一页✅重试登录最多3次✅注释写在不显而易见的地方很多人要么不写注释要么注释废话连篇。不需要注释的地方// 点击登录按钮 点击(登录按钮)这个注释没有任何价值指令名称本身已经说明了一切。需要注释的地方说明为什么这么做不是做了什么// 等待3秒而不是1秒——这个网站的登录验证是异步的1秒不够 等待(3000) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55a5585fcfd54a0999a1c2d19530b65f.png#pic_center)标记已知的坑// 注意这个XPath在2024年10月后的新版页面里失效了 // 如果遇到元素找不到检查是否触发了AB测试新版本 获取元素(.product-title)解释业务逻辑// 价格变动超过5%才记录——过滤日常小波动只关注异常价格 If abs(新价格 - 旧价格) / 旧价格 0.05: 记录价格变动标记TODO和已知问题// TODO: 这里还没处理多规格商品的情况只取了第一个规格的价格 // 等需求确认后再加流程结构让人一眼看懂全貌主流程要高度概括主流程只做流程编排不做具体操作❌ 差结构主流程里堆满细节打开浏览器 导航到 https://... 等待页面加载 查找用户名输入框 输入用户名 查找密码输入框 输入密码 点击登录按钮 等待2秒 // ... 接下来200行✅ 好结构主流程是目录调用子流程[初始化浏览器环境] 调用子流程[登录账号] 调用子流程[采集商品数据] 调用子流程[导出到Excel] 调用子流程[发送完成通知]看主流程5秒内明白这个流程在做什么。把相关逻辑聚在一起不要因为这段逻辑很短就直接写在主流程里该拆的要拆登录相关的所有操作 →登录账号子流程错误处理的所有逻辑 →处理错误子流程数据清洗的所有操作 →清洗商品数据子流程文件和路径用变量代替硬编码❌ 到处硬编码路径写入文件(C:/Users/linyan/Desktop/data.xlsx, 数据) 读取文件(C:/Users/linyan/Desktop/config.json) 写入日志(C:/Users/linyan/Desktop/logs/run.log)✅ 在流程开头统一定义temu店群自动化报活动案例// 路径配置 基础路径 C:/Users/linyan/Desktop/ 数据文件路径 基础路径 data.xlsx 配置文件路径 基础路径 config.json 日志文件路径 基础路径 logs/run.log // 之后用变量引用 写入文件(数据文件路径, 数据)换电脑或者给别人用时只需要改一处。日志给未来的调试留路标在关键节点打日志不是调试时才想起来// 流程开始 打印日志( 流程开始 获取当前时间()) // 每处理一个商品 打印日志(正在处理第 当前序号 个商品 商品名称) // 关键决策点 打印日志(登录结果 登录状态 用时 耗时 ms) // 流程结束 打印日志( 流程完成 共处理 处理数量 个错误 错误数量 个)出问题时日志告诉你流程跑到哪了、当时的数据是什么、哪一步开始不对。实战一个前后对比案例重构前某个我接手维护的流程设置变量 x 打开网页 url1 等待(2000) 获取元素 e1 设置变量 x e1.text If x ! : 设置变量 y split(x, |)[0] 设置变量 z split(x, |)[1] 写入Excel(sheet1, row_idx, 1, y) 写入Excel(sheet1, row_idx, 2, z) 设置变量 row_idx row_idx 1重构后// 从商品详情页提取名称和价格写入结果表格 打开商品详情页(商品URL) 商品原始文本 获取商品文本(商品详情元素) If 商品原始文本 不为空: 商品名称 解析商品名称(商品原始文本) // 取|前半部分 商品价格 解析商品价格(商品原始文本) // 取|后半部分 写入结果表格( 工作表: 结果Sheet, 行号: 当前行序号, 商品名称: 商品名称, 商品价格: 商品价格 ) 当前行序号 当前行序号 1重构后变量名可读、逻辑清晰、子流程封装了细节、注释说明了解析规则。检查清单发布前过一遍所有变量名能说明它是什么子流程名称是动词对象格式硬编码路径/URL/账号都提取到配置区关键节点有日志打印不明显的逻辑有注释说明为什么主流程是概要细节在子流程里有 TODO 标记还没完成的部分小结可读性好的流程不是为了好看是为了你自己和合作者能高效维护它。花在命名和结构上的时间会在第一次修改 bug 时加倍收回来。作者林焱飞行社 RPA 实践记录

相关新闻

Python技术文档解析实战:信息提取与话题聚类完整指南

Python技术文档解析实战:信息提取与话题聚类完整指南

1. 技术交流文档的深度解析与信息提取实战在日常技术团队协作中,我们经常需要处理会议纪要、技术交流实录等非结构化文档。这些文档往往包含大量有价值的技术讨论、问题解决方案和架构思路,但信息分散、重点不突出。本文将以一份典型的技术交流会实录为例…

2026/7/26 2:41:54阅读更多 →
2025届毕业论文降重平台实测与技巧

2025届毕业论文降重平台实测与技巧

1. 论文降重需求背景解析2025届毕业生即将面临学术生涯的重要关卡——毕业论文写作。在这个信息爆炸的时代,如何保证学术原创性成为每位学子必须直面的挑战。根据最新学术规范,大多数高校要求本科论文重复率控制在15%以下,硕士论文则需低于10…

2026/7/26 2:41:54阅读更多 →
牛客AI面试技术解析与应用实践

牛客AI面试技术解析与应用实践

1. 牛客AI面试技术解析牛客平台凭借AI面试技术入选《2026 HR科技云图》,标志着其技术实力获得行业权威认可。作为国内领先的在线编程测评和面试平台,牛客的AI面试系统已经服务超过1000家企业客户,累计完成数百万场自动化面试。1.1 核心技术架…

2026/7/26 2:41:54阅读更多 →
猫抓插件:一键抓取网页视频音频的高效解决方案

猫抓插件:一键抓取网页视频音频的高效解决方案

猫抓插件:一键抓取网页视频音频的高效解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到想要保存网页中的精彩视频…

2026/7/26 3:52:01阅读更多 →
AM26x嵌入式开发实战:GPIO中断与I2C总线稳定性设计精要

AM26x嵌入式开发实战:GPIO中断与I2C总线稳定性设计精要

1. 项目概述与核心价值在嵌入式开发的日常里,GPIO和I2C就像空气和水一样基础,却又无处不在。无论是点亮一个LED,还是读取一个温湿度传感器的数据,都离不开它们。但真正让一个嵌入式系统从“能跑”到“跑得稳、反应快”的&#xff…

2026/7/26 3:52:01阅读更多 →
STDF-Viewer:高性能半导体测试数据智能解析平台的技术架构与应用实践

STDF-Viewer:高性能半导体测试数据智能解析平台的技术架构与应用实践

STDF-Viewer:高性能半导体测试数据智能解析平台的技术架构与应用实践 【免费下载链接】STDF-Viewer A free GUI tool to visualize STDF (semiconductor Standard Test Data Format) data files. 项目地址: https://gitcode.com/gh_mirrors/st/STDF-Viewer 在…

2026/7/26 3:52:01阅读更多 →
抖音批量下载终极指南:5分钟快速上手无水印视频批量保存

抖音批量下载终极指南:5分钟快速上手无水印视频批量保存

抖音批量下载终极指南:5分钟快速上手无水印视频批量保存 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback sup…

2026/7/26 3:52:01阅读更多 →
TI Hercules MCU IWR模块实战:PRCM配置、时钟监控与跨核通信详解

TI Hercules MCU IWR模块实战:PRCM配置、时钟监控与跨核通信详解

1. 项目概述与核心价值在嵌入式开发,尤其是汽车电子和工业控制这类对可靠性和实时性要求极高的领域,我们打交道最多的往往不是那些花哨的应用层算法,而是芯片最底层的“脉搏”与“神经”——电源、复位和时钟系统。很多刚入行的工程师可能会觉…

2026/7/26 3:52:01阅读更多 →
鸿蒙 PC Markdown 编辑器 ArkUI 界面分层:从超大工作台到可维护组件边界

鸿蒙 PC Markdown 编辑器 ArkUI 界面分层:从超大工作台到可维护组件边界

鸿蒙 PC Markdown 编辑器 ArkUI 界面分层:从超大工作台到可维护组件边界 鸿蒙 PC 上的 Markdown 编辑器并不是把一个手机页面放大。桌面窗口里同时存在活动栏、文件树、全文搜索、大纲、版本历史、设置、十二文档标签、编辑器模式、状态栏、拖放、右键菜单、自由窗…

2026/7/26 3:50:01阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/25 19:03:04阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/25 19:03:04阅读更多 →