過去 90 天里,我用?Claude Code?編寫了超過 50 萬行代碼。
我學(xué)到了以下幾點(diǎn):
1、使用單體倉庫(對上下文管理至關(guān)重要)
2、使用模塊化路由將前端功能映射到后端(按功能對 API 路由進(jìn)行分類,并將它們放在單獨(dú)的文件中)。這可以最大限度地減少上下文污染。
3、使用流行的技術(shù)棧和舊版本的常用庫(例如?React、FastAPI、Python?等)。LLM 編寫的代碼在訓(xùn)練數(shù)據(jù)中已經(jīng)出現(xiàn)過,因此出錯(cuò)的概率會(huì)更低。
4、當(dāng)你的代碼模塊化程度足夠高時(shí),編寫?SKILL 文件來解釋如何在架構(gòu)中實(shí)現(xiàn)每個(gè)“模塊”。例如,可以專門用一個(gè) SKILL 文件來解釋如何在代碼庫中編寫模塊化的 API 路由。
5、請?jiān)?CLAUDE 文件中說明,需要在它創(chuàng)建的每個(gè)文件的頂部添加注釋,簡明扼要地解釋該文件的功能。這有助于 Claude 在新的會(huì)話中更自主地瀏覽您的代碼庫。
6、使用一個(gè)?MCP,賦予 Claude 對數(shù)據(jù)庫的只讀訪問權(quán)限。這有助于它自主調(diào)試。
7、花幾分鐘時(shí)間規(guī)劃一下如何實(shí)現(xiàn)某個(gè)功能。一旦你對大致細(xì)節(jié)滿意,就讓 Claude 以旁路模式進(jìn)行端到端實(shí)現(xiàn)。
8、盡可能采用測試驅(qū)動(dòng)開發(fā)。確保為新增的每個(gè)功能添加單元測試,并在每次 GitHub 拉取請求時(shí)運(yùn)行這些測試。我使用?TestContainers?在每次合并拉取請求之前,針對一個(gè)虛擬的 PostgreSQL 容器運(yùn)行測試。
9、在?tmux?中運(yùn)行你的前端和后端,以便 Claude 可以在需要時(shí)輕松地查看日志(在你的 CLAUDE 文件中告訴它這樣做)。
10、最后,如果您對以上所有內(nèi)容都感到滿意,可以使用多個(gè)工作樹并讓代理并行運(yùn)行。我有時(shí)會(huì)并行使用 3-4 個(gè)工作樹。
最重要的是——?jiǎng)e忘了認(rèn)真審查你編寫的代碼。與其說是憑感覺寫代碼,不如說是憑感覺審查代碼,這才是更準(zhǔn)確的描述。以我的經(jīng)驗(yàn)來看,了解整個(gè)代碼庫以及函數(shù)抽象層級(jí)至關(guān)重要。你至少應(yīng)該知道每個(gè)函數(shù)在代碼庫中的位置和所在文件。
很想知道其他人是如何使用Claude的。