程式碼風格¶
不可變性(關鍵)¶
總是建立新物件,絕不變異:
// 錯誤:變異
function updateUser(user, name) {
user.name = name // 變異!
return user
}
// 正確:不可變性
function updateUser(user, name) {
return {
...user,
name
}
}
檔案組織¶
多小檔案 > 少大檔案: - 高內聚、低耦合 - 通常 200-400 行,最多 800 行 - 從大型元件中抽取工具 - 依功能/領域組織,而非依類型
錯誤處理¶
總是全面處理錯誤:
try {
const result = await riskyOperation()
return result
} catch (error) {
console.error('Operation failed:', error)
throw new Error('Detailed user-friendly message')
}
輸入驗證¶
總是驗證使用者輸入:
import { z } from 'zod'
const schema = z.object({
email: z.string().email(),
age: z.number().int().min(0).max(150)
})
const validated = schema.parse(input)
程式碼品質檢查清單¶
在標記工作完成前: - [ ] 程式碼可讀且命名良好 - [ ] 函式小(<50 行) - [ ] 檔案專注(<800 行) - [ ] 沒有深層巢狀(>4 層) - [ ] 適當的錯誤處理 - [ ] 沒有 console.log 陳述式 - [ ] 沒有寫死的值 - [ ] 沒有變異(使用不可變模式)
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC