編程即命名

Programming is Naming.

為事物命名這件事,背後的意義通常有兩種

  1. 你對這件事物有足夠的了解,因此可以替它取一個適當的名字
  2. 你對這件事物有所期許,因此取了一個代表你的期許的名字

編程不就是如此嗎?若是程式架構中的一個物件、一個函式你可以輕易的取個正確的名字,通常代表著你對這個命名對象在架構中的定位有著足夠的了解。通常也代表你的設計正確且清楚。若是你沒辦法替這個東西想個名字,很可能你的程式架構出現了問題。(當然,也有可能只是單字量不夠。)

命名不只是給自己看的。取名的同時,也將你對這個東西的期許傳承給了下一個閱讀這段程式碼的人。你將一個東西叫做Adapter,下一個看到的人就會期待它是個按照Adapter pattern做出來的東西,或是單純的轉接了什麼protocol。

如同在為你的孩子取名一樣,一個名字決定了他將來的外號,可能決定了他交到什麼樣的朋友,甚至影響了他的自尊心。替變數命名也許不用這麼謹慎,但也不是可以輕忽的一件事。

Advertisements