mirror of
https://github.com/sweetwisdom/everything-claude-code-zh.git
synced 2026-03-22 06:20:10 +00:00
fix: restore missing files (package.json etc) and fix sync script logic
This commit is contained in:
70
docs/zh-TW/rules/coding-style.md
Normal file
70
docs/zh-TW/rules/coding-style.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# 程式碼風格
|
||||
|
||||
## 不可變性(關鍵)
|
||||
|
||||
總是建立新物件,絕不變異:
|
||||
|
||||
```javascript
|
||||
// 錯誤:變異
|
||||
function updateUser(user, name) {
|
||||
user.name = name // 變異!
|
||||
return user
|
||||
}
|
||||
|
||||
// 正確:不可變性
|
||||
function updateUser(user, name) {
|
||||
return {
|
||||
...user,
|
||||
name
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 檔案組織
|
||||
|
||||
多小檔案 > 少大檔案:
|
||||
- 高內聚、低耦合
|
||||
- 通常 200-400 行,最多 800 行
|
||||
- 從大型元件中抽取工具
|
||||
- 依功能/領域組織,而非依類型
|
||||
|
||||
## 錯誤處理
|
||||
|
||||
總是全面處理錯誤:
|
||||
|
||||
```typescript
|
||||
try {
|
||||
const result = await riskyOperation()
|
||||
return result
|
||||
} catch (error) {
|
||||
console.error('Operation failed:', error)
|
||||
throw new Error('Detailed user-friendly message')
|
||||
}
|
||||
```
|
||||
|
||||
## 輸入驗證
|
||||
|
||||
總是驗證使用者輸入:
|
||||
|
||||
```typescript
|
||||
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 陳述式
|
||||
- [ ] 沒有寫死的值
|
||||
- [ ] 沒有變異(使用不可變模式)
|
||||
Reference in New Issue
Block a user