摘要:BLOG系列文章-重構1『前言』
想當初大學資管系剛開始寫程式時,教授期末考出了上機考,叫我們把上面的功能寫出來,我還記得我是班上前幾個寫出來的,那開始有點沾沾自喜,覺得程式就只是用If、For、While 組合出來而以,之後開始學習物件導向概念,說實話,那時覺得學那鬼東西有什麼用,程式還不是寫的出來。這是我在大學時對程式的態度『簡單』+『輕視』。
由於我在大三就開始對程式不感興趣,所以就決定跨考財金所,我讀的財金所比較常用到程式,所以我在研究所二年也算是有在寫程式,大部份都是用程式處理資料。這段時間我也一直覺得程式還是老樣子,就只是那幾種東西組合來組合去。這是我在碩士時對程式的態度『輕視』+『處理資料用的東西』。
我第一份工作是寫金融程式,當我第一次看到程式碼時,看的懂程式碼,但我真的看不懂程式流程,一開始我真的覺的沒著麼樣,後來接了這程式真的是災難的開始。修改一個小功能,程式碼從頭動到尾、從尾動到頭,重複程式碼超多,一堆奇奇怪怪的變數,奇奇怪怪的註解,上面註解和下面寫的程式碼不一樣,改Bug的時間大於寫新程式的時間。這時我決定開始上網找『為什麼這程式碼如此恐怖』並看看其它人寫的資訊文章(以前之有功能不會時才上網功能) ,後來發覺我真的太天真,太天真了,程式世界比我想像的世界深的太多太多了,這種感覺就是像是『淡水河』與『馬理亞納海溝』差距~
現在回想起來起當時寫程式,完全不叫寫程式,硬要說的話我覺的『資料處理』這名字比較適合。因為就是所謂的只要東西做的出來,完全不管裡面寫成什麼樣,當初只覺的程式就只要功能做出來就好,其它的以後在說。我錯了。
後來因為種種理由,我下決心,要專心走軟體開發領域,並給予自已二個要求『決不留技術債』與『寫出人看可以閱讀的程式碼』。
接下來的文章,都是我閱讀 Refactoring : Improving The Desgin of Exising Code 的心得筆記。
我很喜歡書中的一段話:「任何一個傻瓜都能寫出電腦可以理解的程式碼。唯有寫出人類容易理解的程式碼,才是優秀的開發者。」