- #122
適當的命名是在創造適當的抽象
Programming - Naming Things Is Easy - Nic Barker
程式開發其實是開發者之間以兩種語言交流的過程:自然語言(通常是英文)與程式語言。
大多數程式的目的並非僅僅是執行,而是為了長期維護而寫成的,因此「如何正確傳達意圖」就變得格外重要,這也是為什麼我們被教導各種命名慣例,並學習如何透過恰當的抽象來描述問題與解決方案。
然而,自然語言本身的表達力是有限的。當我們試圖以文字傳達技術概念時,常會面臨溝通的瓶頸。為了降低複雜度,我們需要建立抽象;但若抽象過度,反而會製造更多混亂。
幾個思考方向:
- 在新增一層抽象前,應衡量它對團隊的成本與收益,避免不必要的抽象。
- 有時候,自然語言本身就不是足夠精準的溝通媒介。
關於「命名」這個主題,我近期也在另一篇文章中提過:Pointfree 代碼風格:透過函式組合提升代碼品質 驚訝從不同維度還有不同解決問題的方式。
- #121
- #120
- #119
- #118
- #117
- #116
- #115
- #114
- #113
- #112
- #111
- #110
- #109
- #108
- #107
- #106
- #105
- #104
- #103
- #102
- #101
- #100
- #99
- #98
- #97
- #96
- #95
- #94
- #93
- #92
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
- #59
- #58
- #57
- #56
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1