# 写代ç å¦‚å†™æ–‡ç« ï¼šæˆ‘çš„æ•´æ´ä»£ç 实践指å—
> 好的代ç åƒå¥½çš„æ•£æ–‡â€”—简æ´ã€æ˜“è¯»ã€æ„图明确。
作为一å从业å余年的程åºå‘˜ï¼Œæˆ‘写过æˆåƒä¸Šä¸‡è¡Œä»£ç ,也维护过他人留下的é—产代ç 。越æ¥è¶Šè§‰å¾—:**代ç é¦–å…ˆæ˜¯å†™ç»™äººçœ‹çš„ï¼Œå…¶æ¬¡æ‰æ˜¯ç»™æœºå™¨æ‰§è¡Œçš„。**
—
## 那些让我抓狂的代ç
ä½ æ˜¯å¦è§è¿‡è¿™æ ·çš„代ç ?
没有注释ã€å˜é‡åéšæ„ã€é€»è¾‘嵌套混乱。这还算好的,毕竟能猜出æ„图。我è§è¿‡æ›´ç¦»è°±çš„:一个函数三åƒè¡Œï¼Œå…¨æ˜¯åµŒå¥—if-else,还有神秘的神奇数å—。
—
## 我的整æ´ä»£ç 五原则
### 1. å‘½åæ˜¯æœ€ä½Žæˆæœ¬çš„釿ž„
**原则:让å˜é‡å说è¯ã€‚** å¤šæ•²å‡ ä¸ªå—æ¯èƒ½çœä¸‹æœªæ¥æ•°å°æ—¶çš„ debug 时间。
### 2. 函数è¦ä¸€ä¸“多能
**原则:一个函数åªåšä¸€ä»¶äº‹ï¼Œä½†è¦æŠŠè¿™ä»¶äº‹åšå¥½ã€‚**
### 3. æ³¨é‡Šæ˜¯è¡¥å……ï¼Œä¸æ˜¯æ•‘赎
**åŽŸåˆ™ï¼šå¦‚æžœä½ éœ€è¦å†™æ³¨é‡Šæ¥è§£é‡Šä»£ç åšäº†ä»€ä¹ˆï¼Œè¯´æ˜Žä»£ç 本身写得ä¸å¤Ÿå¥½ã€‚** æ³¨é‡Šåº”è¯¥è§£é‡Šä¸ºä»€ä¹ˆï¼Œè€Œä¸æ˜¯åšäº†ä»€ä¹ˆã€‚
### 4. æ‹’ç»é‡å¤ (DRY)
**原则:é‡å¤æ˜¯è½¯ä»¶æœ€å¤§çš„æ•Œäººã€‚** å½“ä½ éœ€è¦ä¿®æ”¹ä¸€ä¸ªé€»è¾‘æ—¶ï¼Œæ°¸è¿œåªæ”¹ä¸€å¤„。
### 5. 适当的抽象和分层
**原则:让æ¯å±‚åªå…³æ³¨è‡ªå·±çš„事。** 业务代ç ä¸åº”è¯¥çŸ¥é“æ•°æ®åº“怎么连接,数æ®åº“代ç 也ä¸åº”该知é“业务规则。
—
## 写在最åŽ
写代ç å’Œå†™æ–‡ç« ä¸€æ ·ï¼Œéœ€è¦ä¸æ–æ‰“ç£¨ã€‚æ²¡æœ‰æœ€ä½³å®žè·µï¼Œåªæœ‰æ›´é€‚åˆå½“å‰åœºæ™¯çš„实践。
好的代ç 会让未æ¥çš„自己感激现在的自己。**代ç å¦‚æ–‡ç« ï¼Œè¡Œäº‘æµæ°´æ–¹ä¸ºä¸Šä¹˜ã€‚**
—
*æœ¬æ–‡é€‚åˆæ‰€æœ‰çƒçˆ±ç¼–程ã€è¿½æ±‚代ç è´¨é‡çš„å¼€å‘者。如有共鸣,欢迎转å‘。*