惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
I
Intezer
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
小众软件
小众软件
T
Threatpost
B
Blog
美团技术团队
博客园 - 司徒正美
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyberwarzone
Cyberwarzone
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
T
Tenable Blog
A
Arctic Wolf
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 叶小钗
L
Lohrmann on Cybersecurity
博客园 - 三生石上(FineUI控件)
L
LINUX DO - 热门话题
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
S
Security Affairs
Simon Willison's Weblog
Simon Willison's Weblog
K
Kaspersky official blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
N
News and Events Feed by Topic
Cloudbric
Cloudbric
WordPress大学
WordPress大学
量子位
W
WeLiveSecurity
H
Hacker News: Front Page
Project Zero
Project Zero
S
Security @ Cisco Blogs
Security Latest
Security Latest
Hugging Face - Blog
Hugging Face - Blog
Forbes - Security
Forbes - Security
C
Cybersecurity and Infrastructure Security Agency CISA
人人都是产品经理
人人都是产品经理
U
Unit 42
Know Your Adversary
Know Your Adversary
Google Online Security Blog
Google Online Security Blog

贤民的博客

硅谷魔法画布 AI Agent 招聘全栈开发(远程友好) 一个可本地运行的 AI 绘图创作工具 | 远程技术管家创业周记(15) 不要依赖单一平台、单一收入来源 | 远程技术管家创业周记(14) 创业者没有假期 | 远程技术管家创业周记(12) 独立开发者的真实生存现状与破局之道 | 远程技术管家创业周记(11) 用 VSCode 写公众号:markdown-to-wechat 没活儿了 | 远程技术管家创业周记(10) 一个输出英文的利器 | 远程技术管家创业周记(九) Git Archive:高效打包、项目交付的实用指南 远程技术管家创业周记(八)- 手里有活心不慌 远程技术管家创业周记(七)- 爆单了 远程技术管家创业周记(六)- 第一单咨询业务 远程技术管家创业周记(五)- 小成本解决大问题 33 岁失业农村程序员自救周记 (四)- AI 提效,收入 1410 元 33 岁失业农村程序员自救周记 (三)- 明确定位 33 岁失业农村程序员自救周记 (二)- 写论文 33 岁失业农村程序员自救周记 (一) 为什么我使用 Vivaldi 作为主力浏览器 解除网页复制限制的插件 - userscript-copy-unblocker 油猴脚本
一次失败的二开经历 | 远程技术管家创业周记(13)
贤民 · 2025-05-11 · via 贤民的博客

你好,我是贤民,你身边的 IT 技术管家,这里是我的创业周记。

本周行动

五一前接了个 4000 的活儿,是个跨平台的桌面应用。 客户着急要,我答应了一周内交付,五一期间就没有休息。

跨平台应用最大的挑战是兼容性问题。 我平时主力开发机用的是 Windows , 在 Windows 下一路开发,一路测试。 MacOS 呢,中间编译测试过一次,没问题。 但是等功能开发完成,再编译测试,就打不开了,报错。 报错内容丢给 AI ,AI 瞎改了一通,找不到实际 bug 根源。 从没问题到有问题,中间大概有 30 次提交。 不知道是哪一步出现的问题。 这时候只能用二分法,去定位哪一次提交导致的程序出错。 差不多回退四次,就能找到了。 发现只是一行代码,在 MacOS 下不支持,但是编译呢,又能通过,可程序打开却会导致崩溃。 编译太耗费时间,差不多用了半天,才修复这个 bug 。 后面就成功交付了。

一个失败的案例

五一期间还接了个二次开发的活儿,远程看客户演示,基本功能都完成差不多了,有三点需要修改。 我粗略看了下源码,前端用的 react ,后端用的 python ,这俩我都熟悉啊,就接下了这个活儿。

真正开始改动的时候,发现还是大意了,要改动的其中一个核心文件有将近 2000 行代码。 状态值分散在各处,根本无从下手。 我想的很简单,不是有 AI 嘛,让它帮忙重构,分割成多个组件,用上下文重新管理。

重构的差不多,可以动手了。 但又发现,客户的需求,与原先的代码逻辑是不一致的。 要实现客户的需求,得换一套操作逻辑,还得继续重构。 最后我放弃了,浪费了两天时间。

  1. 二次开发,一定要注意原本的代码规范如何,如果有多个文件大于 1000 行,那就要小心了,大概率代码凌乱。
  2. 对于代码凌乱的项目,不改变原有的逻辑,添加一两个功能可能还好。如果要重构,最好的方式,彻底重写效率可能还高一些。
  3. 太久远的历史遗留项目,比如六七年前的 vue2 项目,node 12 以下的版本,这一类的活儿也可能比较恶心。

结束语

你有没有失败的二次开发的经历呢?

文章作者 贤民

上次更新 2025-05-11

许可协议 原创文章,如需转载请注明文章作者和出处。谢谢!

赞赏支持

微信打赏