↓↓↓实现这个review组件的一点心得体验是,要实现组件的功能可能很简单,但是功能的实现要符合直观且美观好难,我大概一天不到的时间就把逻辑完成了,但是花了得有3、4天来调整设计。
遥的开发日志
参考Cursor重构了gpt-tutor的UI,现在用起来舒服多了!只需要输入@,然后选择要使用的功能(比如演示中的单词解释),然后再输入要解释的单词就可以了。
用起来真的比之前要流畅多了,不需要在鼠标和键盘之间频繁切换。
把业务逻辑又可以拆开为两部分,一部分是可借鉴的业务逻辑,比如如何持久化存储和同步状态,这部分逻辑的实现步骤应该是这样的:(1)弄清楚自己的需求(2)是否有现成的工具和方案(3)根据需求对现成工具和方法进行修改(通常在理解如何使用后,只需要简单的进行替换即可)。
另一部分逻辑就是不可借鉴的,完全需要自己来处理的逻辑,比如数据应该在什么地方显示,如何显示,如何变换,这部分逻辑是真正决定了一个应用是什么的逻辑,这部分逻辑的实现就没有什么非常固定的工具和方案可供参考了,就只能依靠自己对需求的准确理解和对技术的了解宽度和广度了。
我现在才知道Zustand有持久化的中间件,可以直接完成useState和本地存储的同步,我之前完全靠自己手动同步,白白添了好多麻烦,浪费了好多时间······也算是一个教训了,以后做某事之前都要好好想一想,是不是应该有更方便更符合直观的方法,如果有通常就有某个第三方库已经实现了,千万不要自己再瞎造轮子了,又费力麻烦又不好用······
代码多了以后属实有点乱了···特别是其实原来OpenAI Translator的源码管理得也不是非常好(因为它也是个人开发的?),我又没有任何意义上的代码规范,本来也没有这方面的训练,重心又完全放在了实现功能上,想到什么就做什么···导致现在整个代码就有点像东拉一坨,西拉一坨
等我完成接下来这部分功能,一定好好把这坨收拾一下