ClaudeCode体验之二

背景

一直想做一个个人的账本,用于管理短期理财的,例如购买的一些基金、顾投,短则几个月,长则2、3年。想看看哪些是比较赚钱的,哪些是投入了很多成本并没有怎么赚钱的。

  • 需求

希望是可以在有网的PC端打开、查看和更新就行。这就要求是BS结构或者有同步功能。可以比较自定义的展示一些统计信息和统计图。
之所以需要一些自定义的统计信息,是因为想知道每年投入了多少钱,如果只是简单的求和,会出现严重的偏差。例如一年内购买了很多次短期理财,周期都不超过2个月,每次投入10万元,如果只是简单的求和,会显示当年投入了上百万元,实际上来来回回就那10万元,相差1个数量级。

  • 尝试

最初在网上找了找有没有开源的软件可以直接用的,但是几乎没什么满意的。大部分软件都是记账使用,并不适合短期理财管理。
后来只能转到WPS上,通过表格来管理这些短期理财,再通过WPS的JS脚本来计算复杂的公式。WPS的同步功能也能满足只要有网就能用PC打开查看和更新的需求。

  • 低代码平台

也想过使用低代码平台快速完成一个表单的增删改查,但是搭建低代码平台本身就是非常麻烦的,尝试了自建2个低代码平台都没有成功,而且复杂的计算条件如果不能使用sql完成,就还是需要写代码,在低代码平台中写代码又是一个挑战(比从0开始写代码更麻烦)。

自己建站

效果







过程

由于我几乎只会写古老的js代码,对于现代前端框架一无所知,所以自己建站一直是我最后的选项,正好最近听说了Claude Code ,所以就尝试使用AI来帮我完成这个任务。

总的来说还是可以的,前端代码我从未写过一行,全都是Claude Code自己完成的。后来我发现既然这么顺利,为什么不让它把后端代码也写了呢?于是后端代码9成是它自己完成的。

心得

  1. AI写代码并不像一个全自动的机器,你不能一说一句给我搭建一个理财管理软件,然后就指望它能够给你做出所有的内容。(你的产品经理只给你说这一句你也写不出来的)
  2. 需要把AI当作一个刚入门的程序员,一步一步告诉它怎么做。
    1. 例如先告诉他我需要一个登录界面,通过账号密码登录。那么它就会自己画出一个登录界面和对应的控件。当然登录是假的,账号密码也是在前端写死的。
    2. 然后继续告诉它,登录时需要调用的接口API是什么,入参格式是什么,出参格式是什么。它就会把登录的按钮关联到这个接口,再调整对应的传参和响应解析。这个时候我会发现如果下次我还要调用一个接口还需要告诉它对应的接口API和出入参格式,即便这个API的域名是一样的,错误响应格式是一样的,需要传入的登录会话信息是一样的。
    3. 所以还需要告诉它,把可以抽取公共的部分(域名、错误解析、会话信息)都抽取出来,不用每次都写,之后我也就不用每次都告诉它怎么处理这部分信息了。
  3. 依旧需要一些开发知识的,至少要知道一些术语和原理,例如API请求方式、入参格式、怎么映射字段等等,尤其是一些枚举也需要和后端一一对应,这些都是需要告知的AI的,不然它会随便写点就对应不上了。
  4. AI会学习你的项目,在开发过程中,我也让它写了大部分后端代码,由于后端项目存在一些框架和其他接口,所以AI学习了这些项目结构,并按照相同的风格生成了代码。
    1. 例如一开始AI会把对象转换的代码写在service上,但当我让它建一个converter进行转换时,之后它就会把这些代码放入converter中。
    2. 项目从API入口开始到数据库映射,一共经历了5层,AI也会参照这个风格在5层中写代码,虽然有些分布和已有的风格不一致。
  5. 对于环境的要求,AI在写前端代码时非常顺利的生成代码、编译、运行。(环境是nodejs) AI在写后端代码时则只能生成代码,虽然它自己会尝试编译,但不知道什么原因它无法获取maven的环境,每次都出错。