有人使用 Rust 重构过旧项目吗?

2025 年 7 月 11 日
 red13

原来的一个数据分析引擎,使用 C 开发的,C 开发效率太低了,debug 程序更是让人头大,打算使用 Rust 重构一下,学习了三四天,感觉 Rust 绝不是像 Python 那样看一上午就能开始项目然后边学边做的语言。 有没有用 Rust 重构过旧项目的朋友,来说说呗

7968 次点击
所在节点    Rust
49 条回复
Geon97
2025 年 7 月 11 日
自信一点把感觉去掉
也不像 go 一样,看一天就可以边学边写
rqzrqh
2025 年 7 月 11 日
空闲时间重构过之前用 C 写的项目,大概 1500 行。学习了一个月,然后开始写,中间遇到复杂的数据所有权管理,也是思考+走了狗屎运才解决,大概写了一个月完成。golang 是可以看一上午就能上手,rust 不行,遇到复杂的数据所有权没高手帮忙很难解决。
cmos
2025 年 7 月 11 日
你要是 C++的 10 年老手可以这么干,新手不建议用 rust 重构任何东西。你花在理解 rust 本身的时间比你写程序的时间要多得多,而且一段时间之后,你一定会忘记当时怎么设计的。你看一下我前几天写的本地版本快照程序,就知道我说的怎么回事了。
https://github.com/uselibrary/rustory/tree/master/src
baba8
2025 年 7 月 11 日
建议用 go,rust 错误太奇葩,有次闪退解决一天没解决掉,最后 ai 给个了方案,延时 5 秒,真的解决掉闪退问题。
NessajCN
2025 年 7 月 11 日
我自己除了 gui 和网页前端之外的所有项目基本都用 rust 重构了
不管之前用 cpp python 还是 go, 一旦 riir 之后就再也回不去了
重构过后再看自己项目原本的代码是那么丑陋和低效
所以就很能体会为啥 riir 如此的流行,因为确实会上瘾
bli22ard
2025 年 7 月 11 日
rust 的难度起码 go 的 5 倍以上
iOCZS
2025 年 7 月 11 日
rust 的难度在于内存管理吧?
bigtan
2025 年 7 月 11 日
能用 rust 重构的,基本上都重构完了
bugyaluwang
2025 年 7 月 11 日
cccssss
2025 年 7 月 11 日
尝试过,很爽。有了再一次创造的快感
lancelock
2025 年 7 月 11 日
要不用 zig
kapaseker
2025 年 7 月 11 日
所有权是座山。这个你得理解很长的时间才能比较熟练,我大概有几个问题你可以看看能懂不?

1. Fn,FnMut,FnOnce 有什么区别?
2. 跨线程的为什么需要实现 Send ?
3. Box ,Mutex ,Arc ,RefCell ,Rc 有什么区别?

在这三个问题的基础上,再问自己,为什么 Rust 中会有这些玩意儿,为什么会这么设计呢?
noe132
2025 年 7 月 11 日
rust 边学边写改了一个之前 C++ 写的切换输入法小工具
也就 200 行不到代码,时间全用来查各种 api 文档了,好在最后 macos 的 rust api 库完善,硬是改下来了,全程 expect 一把梭,要不要 deref 边猜边写
tinybaby365
2025 年 7 月 11 日
用 go 重构吧。才学习了三四天,对 Rust 来说远不够。
memcache
2025 年 7 月 11 日
这不叫重构吧~ 算重写了。
学了一段时间后,写过一个小项目: https://github.com/chenqimiao/quarkdrive-webdav
rust 入门需要一些耐心的,不是两三天就可以上手的,当然大佬除外
xkeyC
2025 年 7 月 11 日
可以先 export 出个 C header ,然后 rust-bindgen ,新需求和需要修改的需求,可以在 rust 端完成,实现逐渐迁移(
Rickkkkkkk
2025 年 7 月 11 日
C 开发效率太低,以我不多的经验,rust 是效率更低的。

go 和 java 都还行(至少这两的语法合乎人类的自然语言的语法习惯)
skiy
2025 年 7 月 11 日
Rust 会让你知道什么叫开发效率低。所有权头很大。
MacsedProtoss
2025 年 7 月 11 日
压根没有必要
rust 开发效率其实更低,除了邪教爱好者基本上没啥人会 rust 重写东西
Rickkkkkkk
2025 年 7 月 11 日
试想这样的 case ,起两个线程/协程,并发分别从两个下游接口获取数据,执行完成之后,合并这两个接口的数据并返回。

如此简单的逻辑你用 rust 写会头大的很

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1144592

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX