2008年10月1日 星期三

R01 知難行易vs知易行難

世界上有非常多的事物,只需要投入時間去摸索很快就能有小成就;像是釣魚、做菜、繪畫……與程式設計等等,知道如何開始後很快就可以有初步的能力。然而開始是容易的,若想要將自己的能力在該領域提升到較具水準的規模,卻必須要有足夠的專業知識才可以,否則做出來的成果很可能會七零八落。

由於入門容易,知難行易就是鼓勵大家放手去做,只要懂一點基本的道理就可以做出粗具規模的東西;實際領會困難,知易行難則是表達要邁入高手的境界,聽理論的內容感覺很容易但是卻難以達到盡善盡美的程度。大部分的學習曲線在前期都可以快速成長,到了後期卻得累積許多知識與經驗後才能稍微前進一小步。

公司的幾個專案陸續遇到了一些狀況造成氣氛不佳,主管幾位同在資訊業的朋友也抱怨做得很辛苦。在程式設計的領域裡有很多大師在開發軟體的各個方面都揭示過非常符合理想的概念,可是如果業界有理想標準的話,為何那些專案都無法因套用而受惠?使得大多專案成員都做到死去活來?而且同專案的成員都沒法看懂其他人所寫的程式呢?

實作是比較容易的,因為它可以經由測試加以驗證,任何人都可以很快地看到結果是否正確,而且修改與反應也大多是立即可以再度測試出結果的。但是設計並無法快速驗證,通常會在更改錯誤或是需求變更時才會發現整個改變過程裡發生窒礙難行之處才會恍然大誤,但是到那時通常都已經來不及再調整回來。設計的問題在內部結構開始定型後,就已經埋下了日後難以修改的地雷。

沒有留言:

張貼留言