- 主题:12万行c++的系统,rust重写,靠谱吗?
会有哪些坑
--
FROM 183.195.15.*
问题首先难道不是:
为啥要重写?现有的系统有什么问题在c++里解决不了?
Rust重写会带来什么好处?
--
FROM 221.220.171.*
主要是内存问题,长时运行一直有问题
逻辑比较复杂,本身需要做大的重构
【 在 z16166 的大作中提到: 】
: 问题首先难道不是:
: 为啥要重写?现有的系统有什么问题在c++里解决不了?
: Rust重写会带来什么好处?
--
FROM 183.195.15.*
容易也不容易
容易在于这个代码量模块的最终状态一定全面优于C++
不容易在于要Rust需要先思考清楚代码的架构,抽象到顶,再例化到底,哪个结构体是临时引用,哪个结构体需要可变,哪个结构体需要跨线程安全,才能最优化
--
FROM 1.202.157.*
看C++代码怎么写的。
C++的事,rust都能做,但做的方法有时区别较大。
所以如果主要是C写的,C++特性使用较少,那转rust会比较容易,就算到处是指针,用Rc<RefCell<>>包一下,或者干脆unsafe,控制住unsafe的范围,问题都不大,基本上是可以逐个函数逐行代码“翻译”为rust的。
C++特性用得多的话,比如各种继承,可能要改变代码结构,要多花点时间去思考和重构。
【 在 CongHL 的大作中提到: 】
: 会有哪些坑
--
FROM 222.65.123.*
如果不知道问题出在哪,重写可能会让这个问题消失,但几乎肯定会带来新的问题。当然时间足够的话重写不是问题。
【 在 CongHL 的大作中提到: 】
: 主要是内存问题,长时运行一直有问题
: 逻辑比较复杂,本身需要做大的重构
:
--
FROM 223.104.41.*
搞清楚是重构还是重写
前着你需要好好考虑下,后者你也需要考虑下
基本上肯定会出Bug
不要指望语言解决问题
【 在 CongHL 的大作中提到: 】
:
: 会有哪些坑
:
#发自zSMTH@CDU.MP
--
FROM 118.81.12.*
如果原先需求和业务逻辑都很清晰,从头写应该更顺滑。
重构是苦力活,费力不讨好。
【 在 CongHL 的大作中提到: 】
: 会有哪些坑
--
FROM 112.96.54.*
主要看你们对 rust 的掌握程度吧。。
其实用 现代 C++ 重写一遍就能解决大多数问题。更好的办法其实是重构,而不是重写。重写风险很大。
【 在 CongHL 的大作中提到: 】
: 会有哪些坑
--
FROM 115.171.48.*
那就直接改bug好了。我猜测应该没有和当前代码对应的产品详细设计文档。
【 在 shocker 的大作中提到: 】
: 如果原先需求和业务逻辑都很清晰,从头写应该更顺滑。
: 重构是苦力活,费力不讨好。
--
FROM 223.104.41.*