Ai的Ide-trae使用经验(全栈高效率开发)
背景
随着Ai模型的发展,日新月异,作为十几年的小程序员,还是要多学习,最近公司也有web的项目。属于小项目,但需要开发效率,最后通过讨论与预研,最后选用了 django-ninja+nextjs的方案。 2025/06/01
技术
后端
- 公司是以Ai开发为主,团队对于java, C++, Golang都不熟悉,而django是python下成熟的方案,预研运行效率,响应速度在几ms,最多10多ms,对于小项目没有大问题。
- 部署:python的打包部署不完善,当前采用的是pyintstall方案,以前的项目有打包经验,可以解决。
前端
- vue/nextjs: 以前也用过vue作为开发,但vue的工程框架并不是太好,这次算是尝试,改为nextjs,更好的路由管理,工程化更好。
- exe:引入tauri可以解决,对于vue/react打包都是不错的。
工具
python: pycharm + deepseek
react: trae(国际版) + cloud 4/gmini 2.5pro
经验
后端
- 前期做好 Sql表关系的规划
- 写接口时或是发现问题时,一定要带上表结构的上下文,deepseek即可有很好的回答
前端
- 问:为什么需要cloud 4/gmini 2.5pro?
答:试过,国内挺多的模型,2025/05/25前,测试的结果是,国内模型写nextjs,前端不太行。 - 基础目录:nextjs,大模型搭基础架构并不好,前期需要自己找一个基础目录,搭好private与route的规划。
- 项目规则:trae下有一个project_rule.md,项目规则,最好定好,以下是我使用的示例:
运行: pnpm
技术栈:tauri + nextjs + shadcn/ui
ui组件在可以的情况下都使用shadcn/ui, icon使用lucide-react
风格:简约,干净, 优雅,冷色调。
文件名用小写,多单启用-连接;组件function用大驼峰;变量用小写。
本前端地址: localhost:3456
Table的页面:tableHead追加样式<TableHead className="text-center font-bold bg-gray-100">, <TableCell className="text-center"> 图标等都居中。
table的跳页统一改为QPagination组件。
core文件夹下,各个模块的功能模块都放在各自的文件夹下. pages.tsx同级c-开头为当前页的业务组件,即无法做到复用的业务组件放在core文件夹下。
提到地址:61301端口的都指http://localhost:61301,使用lib/api_client.ts的apiRequest或request调用后端接口。
后端示例(备份下)
### 包管理工具:uv
### 项目技术:django-ninja 运行端口:61302 函数返回:returns包
### 主要内容:所属项目、工单流程、工单体、工作人员。
### 当前处于开发阶段
需要调整数所库时, 可以删除各个apps下的migrations文件夹,及删除Remove-Item db.sqlite3 -Force文件,重新创建数据库。
### 日志与异常
日志: from q_log.log_nb import logger 用法: logger.info('日志信息')
异常堆栈: logger.error(traceback.format_exc())
### apps:
work_flow: 1、工单流程:支持自定义流程,流程中含有多个节点。 节点: 当前节点名称,前节点是谁(用于退回操作), 后节点,即操作什么后,跳转到目标节点idwork_order:
work_order: 1、附带的信息,可以指向其他表,用于扩充信息。可以考虑添加评论的表作为示例。 2、节点切换:当前节点与历史节点,并依据工作流程进行切点切换。 3、用户在当前节点的操作会有什么影响,则是由api接口函数定义,并不在字段中。
work_user: 流程中各个节点,可以进行操作的人员。 人员信息:账号,密码,手机,部门,职位,所属片区:即执法的区域(如村与片区)
### 自测试(任务工作流程)
#### 表初始化
py脚本:放于init目录下
人员:工作用户 -》 主管人员 -》审核人员
流程:所有人可以发起流程 -》 工作人员进行执行 -》 主管人员初步查看工作成果 -》 审核人员最终审核
附带信息:初步只是追加信息与图片名称
#### 测试脚本(test目录下)
py测试脚本,
需要查bug进行检查时,创建check_xxx.py命名脚本,
模拟用户操作使用simulate_xxx.py命名脚本。
说明:上面的示例,分别提到运行工具,风格,组件细节等。 可以看到其实也是由 大->小 这样写的,这样规则文件,可以随着项目的进展去完善,但大的风格一定是提前写好,如文件名、变量规范等。
- 编写提示词:trae已具备上下文记忆,但如果你要切换工作的文件或只在哪些的文件相关联,请指名是哪些文件,指定的文件名后,模型会更专注于文件内进行工作。
- 组件化:对于要写成组件的代码,明确要求模型将哪些部分做成基础组件,这样写提示词,效果更佳。
工作效率
使用全栈的工作效率,可以大大提升小项目的开发效率。 公司一开始,也是前后端分开,但运行过程中会发现,因为小项目没有十分完整的方案文档,对接时往往有大的沟通问题,与一开始想要的高效率有一定的冲突。采用Ai+全栈的开发方式,可以大大提高开发效率。