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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
D
Docker
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
Jina AI
Jina AI
小众软件
小众软件
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
美团技术团队
爱范儿
爱范儿
V
V2EX
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
博客园 - 司徒正美
博客园 - 叶小钗
S
SegmentFault 最新的问题
量子位
S
Secure Thoughts
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
O
OpenAI News
L
LINUX DO - 最新话题
罗磊的独立博客
SecWiki News
SecWiki News
雷峰网
雷峰网
Recent Announcements
Recent Announcements
V2EX - 技术
V2EX - 技术
T
Tailwind CSS Blog
H
Hacker News: Front Page
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
T
The Blog of Author Tim Ferriss
IT之家
IT之家
博客园 - 聂微东
腾讯CDC
N
News | PayPal Newsroom
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
Hacker News: Ask HN
Hacker News: Ask HN
aimingoo的专栏
aimingoo的专栏
Webroot Blog
Webroot Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
K
Kaspersky official 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

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

赞赏支持

微信打赏