看別人的 code 最困難的地方,大概莫過於了解他人的意圖:為什麼你要採取這個路數來走。有些時候 code 很像雕塑,往往留下來的成品,是在揚棄了不必要的部份,或是拋棄了許多路徑之後,才得到的結果。

所以意圖 (intention) 有兩個部分:「為什麼」採取現在的手段,以及「為什麼不」採取其他各種可能存在的手段。

程式教材的文字為什麼往往比 code 要長上數十、甚至數百倍的原因就在這裡。另一方面,這也就是為什麼抄襲跟模仿不容易達到跟原創一樣結果的原因:因為前兩者都只看到了既存的結果,而沒有辦法體現出原創所採取(以及所不採取)路徑所意欲解決的問題──而那些問題很可能因為原創的出現而消失,使得抄襲模仿者甚至無法察覺問題的存在。