剛用 Cursor 的時(shí)候,我總覺得它就是個 "自動打字機(jī)",直到慢慢摸索出些門道,才發(fā)現(xiàn)這工具藏著不少能讓人少掉頭發(fā)的小技巧。
現(xiàn)在敲代碼時(shí),我不再是對著空白屏幕發(fā)呆,而是像和同事聊天一樣,把想做的事情說清楚,它就會乖乖把代碼寫出來。這半年攢下的這些技巧,今天一股腦分享給你們。
一、把需求說清楚,代碼才能寫得順
剛開始用的時(shí)候,我總愛寫 "幫我寫個登錄接口",結(jié)果生成的代碼要么少了參數(shù)校驗(yàn),要么忘了處理異常。后來才明白,跟 Cursor 說話得像給實(shí)習(xí)生派活,越具體越好。
現(xiàn)在我都會這么說:
// 幫我寫個用戶登錄接口哦
// 需要驗(yàn)證用戶名和密碼,密碼得用 BCrypt 加密
// 登錄失敗五次就鎖定賬號 10 分鐘
// 成功的話返回 token,失敗要告訴用戶具體原因
這樣寫出來的代碼,基本上改改變量名就能用,省去了大半返工的功夫。上周寫支付接口,我把 "要支持微信和支付寶"、"支付超時(shí)要自動取消" 這些細(xì)節(jié)都寫上,生成的代碼連測試小哥都挑不出毛病。
二、復(fù)雜的功能,拆成小塊慢慢做
碰到那種一眼望不到頭的功能,千萬別指望一口吃成個胖子。上個月做訂單管理系統(tǒng),我先讓它生成基礎(chǔ)的增刪改查,再單獨(dú)加分頁功能,最后才處理權(quán)限控制。
就像搭積木一樣,一塊一塊拼起來:
// 第一步:生成訂單查詢接口,能根據(jù)訂單號查
// 第二步:剛才那個接口,再加個按時(shí)間范圍查的功能
// 第三步:前面的接口,加上用戶權(quán)限判斷,只能查自己的訂單
這樣做的好處是,每一步都能及時(shí)發(fā)現(xiàn)問題。比如第一次生成的查詢接口沒加索引,第二步加功能時(shí)就順便改過來了,省得最后堆一堆問題不好改。
三、讓它當(dāng)你的 "翻譯官",看不懂的代碼秒懂
有時(shí)候看別人寫的代碼,尤其是帶各種設(shè)計(jì)模式的,總覺得像在看天書。現(xiàn)在我學(xué)會了把代碼選中,然后輸一句:"用大白話給我講講這段代碼是干嘛的,不用講太專業(yè)"。
上次看到一段帶 "裝飾器模式" 的代碼,它告訴我:"這段代碼就像給蛋糕加奶油和水果,核心的蛋糕沒變,但能加各種裝飾",一下子就明白了。
不光能翻譯代碼,連技術(shù)文檔也能搞定。學(xué) Redis 的時(shí)候,那些 "持久化"、"哨兵模式" 看得頭大,我就讓它 "用說人話的方式講清楚 RDB 和 AOF 的區(qū)別",它舉了個 "手動存盤和自動存盤" 的例子,比看書快多了。
四、寫完代碼別急著提交,讓它幫你找找茬
以前代碼評審總被懟 "這里沒關(guān)流"、"循環(huán)里不該創(chuàng)建對象",現(xiàn)在我寫完代碼會先讓 Cursor 幫忙看看:"幫我檢查下這段代碼有沒有性能問題,或者不符合規(guī)范的地方"。
它會像個嚴(yán)格的老師一樣,一條條指出來:"這個 List 可以用靜態(tài)常量"、"這里最好加個空指針判斷"。上周有段循環(huán)邏輯,它提醒我 "可以用并行流提速",改完之后執(zhí)行時(shí)間從 5 秒降到 1 秒,成就感滿滿。
五、測試代碼不用愁,讓它幫你寫
寫測試代碼總覺得是件枯燥的事,但又不得不做。現(xiàn)在我會在生成業(yè)務(wù)代碼后,加一句:"幫我寫這個方法的測試用例,包括正常情況和出錯的情況"。
它生成的測試用例還挺全面,不光測正常輸入,連 "傳個 null 進(jìn)去"、"參數(shù)超長" 這些邊界情況都考慮到了。上次有個支付金額的方法,它特意加了個 "金額為負(fù)數(shù)" 的測試,還真發(fā)現(xiàn)了個 bug。
六、把它調(diào)成你的 "專屬風(fēng)格",寫出來的代碼像自己敲的
剛開始生成的代碼,總有些小習(xí)慣和我不一樣,比如我喜歡括號另起一行,它偏要跟在后面。后來發(fā)現(xiàn)可以在設(shè)置里改,現(xiàn)在生成的代碼連注釋風(fēng)格都跟我平時(shí)寫的一樣。
還有變量命名,我習(xí)慣用 "userId" 而不是 "userid",設(shè)置里改一次,以后生成的代碼就都按這個來了。團(tuán)隊(duì)里幾個人還把各自的設(shè)置共享了,現(xiàn)在生成的代碼風(fēng)格統(tǒng)一,看著就舒服。
最后想說的話
用了半年 Cursor,最大的感受是它像個靠譜的搭檔,能幫你扛下那些重復(fù)又枯燥的活,但真正重要的還是你自己的思路。它能把你的想法變成代碼,但想不出要做什么,再厲害的工具也沒用。
這些技巧說難也不難,關(guān)鍵是多試。剛開始可能覺得別扭,但用順手了就會發(fā)現(xiàn),省下來的時(shí)間不光能早點(diǎn)下班,還能學(xué)學(xué)新東西。我這半年就用多出來的時(shí)間學(xué)了 Docker,感覺自己又能多混幾年飯吃了。
你們用 Cursor 的時(shí)候,有什么自己的小技巧嗎?歡迎在評論區(qū)分享,咱們一起把這工具用得更溜~
#編程技巧 #程序員日常 #效率工具 #Cursor 使用技巧