Cursor 500準(zhǔn)則:保持代碼文件精簡高效
这类项目似乎都遵循一个固定模式。一开始进展很快,但很快就会遇到障碍,之后进展就慢慢下来了。
像这样的页面在你使用Cursor并想要添加内容时可能会开始变慢
这似乎会发生在以下情况:
- 像上面那样的大UI页面
- 重要的API接口
- 集成页
所以我开始研究加快这一过程的方法,以及了解这个Cursor内部是如何工作的。
在小块中用光标搜索
当你用Cursor时,你会注意到它并不会真正扫描整个文件,而是将其分成一小块一小块。
430到629这段代码显示代码的这部分它正在读取
这点很重要,既要保持上下文窗口小,也要让Cursor(指光标)快。在与Lex Fridman的访谈中,速度是他们经常讨论的话题,他们在这方面花了很多功夫。
因此,你需要明白Cursor希望文件更短小,如果可以的话,通常不超过500行。
它不是在查看你整个文件的内容,而是在巧妙地处理上下文。
这里有一个很好的例子我这里有6个标签页。需要注意的是,Cursor不要让这个文件变得太大,行数太多。
相反,你需要将每个标签存为独立的文件。这样做更符合现代编程规范,但是在你于Cursor中编写新功能时,请记得Cursor会优先考虑速度,因此你可能会发现文件变得越来越大,不知不觉中增加了工作量。
其实你希望看到的不仅仅是大文件,而是更多的代码。
那怎么知道文件有多长呢?我一直在用一个超级棒的工具,它真的改变了游戏。
LineSight我学到的关键一点是要注意文件的大小和长度。这个工具叫做LineSight,你可以在插件市场下载它。
它的工作原理
1K表示文件太大了
现在这个系统有点随机,因为有一条规定,你的文件名右边只能有2个字符。
如果你右边看到
- 1H = H 就是 hundred,所以是 100 行
- 5H = 500
- 43 = 43 行
- 1k = 1000 行
大一些的路由器可能更费电
如何真正动手重构代码
有很多方法能做到。
一个小小的提示“请重构这段代码,让代码行数更少,同时确保可读性和功能性不受影响。优化和清理过程中,重点是将重复的模式提取成可重用的函数。”
更长的提示内容- 识别并提取重复或相似的逻辑,将其转换为可重用的函数或方法
- 重构重复的模式为更高效的抽象结构
- 应用适合你所使用语言或框架的设计模式以整合相似的功能
- 将函数移到单独的文件/模块中,并在需要时导入它们
- 使用高阶函数来替换重复的代码块
- 利用特定语言的特性,如列表推导式、三元运算符或解构,来编写更简洁的代码
- 简化嵌套的条件语句,使用早期返回、守卫子句或策略模式
- 将大的类/文件拆分为更小且专注的组件,每个组件只负责单一职责
它将开始生成更小的文件
一个额外的小贴士- 每次重构都痛苦又慢,还得重新测试所有东西,所以不是对所有事情都进行重构。
- 功能完成就别重构了。
- 如果不需要再给这个功能加太多东西,就别重构了。
- 它运行得很慢,你知道将来你还需要给它添加很多东西。
- 你的页面上有好几个标签页。
- 你的页面上有好几个功能模块。
长期来看,要提示某个特定功能会更简单。在我的标签示例中,将来不需要传递大文件,只需传递标签作为上下文信息即可。
尽可能从一开始就设定一条规则来避免这种情况。首先要考虑的是规则
我们首要的防御措施是通过一条规则来防止文件变得臃肿,因为我们希望避免重构。
总的来说,这是需要注意并持续监控的事情之一。我发现这样做确实有助于处理更复杂和更难的功能。
在优化代码之前,让 Cursor 帮你创建一个 Markdown 文件,然后你可以看看。因为重构可能会很痛苦,我更喜欢将其保存为一个 Markdown 文件,告诉我它要做些什么,更重要的是它可能会如何出错,以及我如何测试以确保一切如我所愿。
然后我会复查这个文件,重构之前。
如果你刚开始学编程,请确保在开始这些步骤之前,把你的更改提交到 Github。
这些文件有助于了解重构的规模有多大,以及计划要做什么。
这也帮我们看到可能会出错的地方
关键是我们在使用Cursor(光标)作为工具来帮助提高速度,我们只需要明白速度和长度之间的权衡而已。
从一开始就定好规则,这样可以让你在大项目中更快推进,打好基础。
您可以在评论区随意提问或分享更多小技巧。
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章