如何重构全栈项目?

RT,自己vibe了一个全栈项目,用的是java(spring boot 3) + vue3。但是早期的话,都是按照自己的思路乱来的,再加上各种ai的修改,已经成了屎山了。。。
现在想要重构它,让他更加工程化,大佬们有什么建议的吗?或者说有什么好的项目参考,或者好用的工具都可以。
我目前主要用的是gpt的5.5和5.4。

6 个赞

开一个新的项目,慢慢标准化的迁移功能 :distorted_face:

7 个赞

最好用的工具就在手头
佬友可以让gpt先盘点一些哪些问题,按优先级慢慢修,具体项目具体措施

2 个赞

先找一个好的方向,然后再去推进。高内聚低耦合这个思路总没错

1 个赞

ai 写的 屎山,那就交给 ai 来优化,简单的 一个文件代码行数不要过多,函数 不要过长,再有就是架构上的,代码结构要梳理清楚,文件夹分好之类的。

2 个赞

有ai都不是事儿,看你怎么用ai来处理,比如先让ai查看整体架构,给出优化方案,在按步骤一个模块一个模块的处理。

1 个赞

claude code 含LSP开箱即用-新增了gemini 下载好项目后,运行佬自己的codex. 执行$cc-refactor-safety 即可. 好用请star 嘿嘿~

2 个赞

重构的话换语言实现的效果会不会更好?

1 个赞

多跟ai聊聊,尤其是第一步讲清楚需求。需求文档->方案->实现步骤,每个点都要细细看,否则后面ai超出上下文就乱写了,最好是分阶段或者周期让ai执行,规定好标准之类的

1 个赞

那算了,换语言的话,我估计都看不懂 :sweat_smile:。java起码我还能看懂一些

先让他按照写完的代码把之前的需求和设计文档写出来,然后你再丢给ai优化下需求和设计文档,或者和他一起重新商议,再重新vibecoding就行~~

1 个赞

如果原项目很shi的话,ai重构可能会更shi。最好是站在你现在高度规划好后新建项目重构。重构这个东西最好还是功在平时,不然那也是积重难返。

1 个赞

屎山整正常跑,就别动了,现在AI注意力不够,重构很难,会隐藏一堆问题

这个思路感觉和上面有些佬的思路都差不多。我先试试先

我直接就是新开一个项目,帮我照着旧项目迁移过去 :distorted_face:
最后迁移完我发现,重构后还是一坨屎 :distorted_face:

2 个赞

巧了,我之前也有个项目是springboot3+vue3,重构了不下5次 :tieba_087:后端转到fastapi了,但是一行代码都看不懂了 :tieba_087:
大体方案是让AI先读取项目,生成架构接口等文档,你自己先看看AI理解的对不对。
然后重构的时候先从简单的框架开始,例如我是找了一个template,先迁移简单的查询功能,然后再每个接口、每个模块慢慢加进去,多测试测试就行了,我一行代码没写过,2天AI就给改过来了,感觉还行吧 :tieba_087:

4 个赞

项目结构如下:
后端(Spring Boot):
src/
├── main/
│ ├── java/com.xxx/
│ │ ├── controller/
│ │ ├── service/
│ │ │ ├── impl/
│ │ ├── repository/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── config/
│ │ └── exception/
│ └── resources/
│ ├── db/migration/ # Flyway脚本
│ └── application.yml
└── test/ # 测试代码

前端(Vue3):
src/
├── apis/ # API请求层
├── components/ # 公共组件
├── composables/ # 组合式函数
├── router/ # 路由
├── stores/ # Pinia状态
├── types/ # TypeScript接口
└── views/ # 页面组件

之前我也做过类似的重构 这个标准模版 借鉴给你 希望对你有帮助

1 个赞

非常感谢大佬,将饭喂到我嘴里都 :folded_hands:

还是先提取当前的文档吧,照搬老项目然后新开一个项目,一点点加功能吧,然后一开始把新项目规划好,否则直接在屎山上重构,大概率重构出来还是屎

可以找个开源项目,比方说若依,然后让它把功能整合到开源项目中。模块自然清晰。