94 条回复  ·  894 次点击
mingliao 小成 2024-9-14 11:21:25
@sn0wdr1am 精辟
mars2023 小成 2024-9-14 11:21:48
既然都重写了,那么你应该只需要梳理业务需求,然后结合测试用例重新写一个就好了。
又不是让你重构 🐶
lasuar 小成 2024-9-14 11:23:34
钱够就猛吃,不够就慢慢吃,总会吃完的,反正都得吃。PS: 只吐槽不会凸显你的技术水平多好。
fredweili 小成 2024-9-14 11:27:09
借助 copilot 之类的吧
sss15 小成 2024-9-14 11:28:35
画图,现在很多在线画图的画布都是无限大的,你就一层一层绕,一边绕一边画就行了
zhu327808 初学 2024-9-14 11:33:52
我最近接手的项目就是这样,只有一份代码,没有文档,只有一个可用的环境,我的方式是这样的,先理解产品的功能,从功能出发猜测大概是怎么实现的,当然要看的是主流程的功能,把一个整个功能流程了解透,再思考如果是自己做该怎么做

有了上一步的一个梳理带着到底是不是这么实现的,来看代码中的主要流程,先不要关注细节,梳理流程,然后把一整个代码的流程串起来

然后就可以开始解遗留的 bug 了,解 bug 的过程就是了解细节的过程,边解边把一些觉得值得重构的点打上 TODO

再然后就是接新的需求了,新的需求肯定是要改造现有的代码的,那就按自己思路做分层,实在改不动的代码就他妈先包成一个函数,写个自己能懂的函数名字,打上注释能用,不要轻易改动

我现在就是尽量自己的新写的代码就把以前的功能完全重构掉,改不动就封装起来,下层的代码尽量要稳定,上层可以快速迭代

当然屎山就是屎山,不可能一步到位,只能走一步看一步了,也没有时间来完全重写

ps:我这里是一个 golang 的项目,然后被各位大佬硬是写成了 java 的风格,我也是服气的,然后上了他们手撸的依赖注入,导致看代码逻辑都是乱的,你都不知道这个对象是从哪里来的,我的妈呀,头疼
xloger 小成 2024-9-14 11:37:38
灵活应用 Copilot ,让 AI 来辅助你理解代码。
然后,要重构或者基于它改代码,重要的思路是:你自己要理清楚整个业务上怎么样的,结合现实中这个业务的流程和代码的实现,整理出一套接口 驱动这个旧代码。
这样里面的具体实现没那么重要了,你可以在不用完全理解里面实现细节的情况下驾驭它,哪怕有问题也能快速定位。

但是,但是哦,如果自己水平欠佳或者梳理到一半凑合了。后人接手你的代码,那观感就是这层山上又叠了一大层......
sagaxu 初学 2024-9-14 11:39:03
从功能出发,先熟悉这个程序的功能,然后看看需求文档(大概率没有或者出入较大),再自己从零开始设计一个方案,想想看自己开发会怎么做。

然后开始看代码,忽略细节,只到文件或类层级,把几个主干类加上注释,理清脉络,画出一个整体结构来,跟自己设计的方案对比一下,也许这个时候需要修正自己的方案。

接下来就是翻译了,把 A 架构代码翻译到 B 架构。在翻译前,把测试用例准备好,不用很全,覆盖主要功能就行。这个时候再去抠变量名和代码细节,边翻译边加注释。

我重写过很多个零文档的项目,别看代码量唬人,可能很多是复制粘贴重复的,很多是压根儿就没用到。
lanif 小成 2024-9-14 11:43:21
分成一个个小的部分丢给 chatgpt
meeop 小成 2024-9-14 11:44:56
1 把所有代码喂给 ai
2 让 ai 梳理:
请帮我梳理所有业务逻辑,梳理文档
请帮我梳理所有上下游依赖
请帮我梳理所有方法调用链和相关逻辑
3 重构
请帮我重构整个项目,按照 xx 规范 xx 结构重写项目

看代码量,数千行的 cursor 应该就能做到了,更多代码量暂时不能这么干,但也快了
返回顶部