為什麼Codeble強調容易維護的程式碼是必需的?
市面上 Bootcamp 的著眼點
坊間的程式編碼短期課程 (Bootcamp) 的著眼點是要讓學生對程式設計有基本認識。
這些課程的目的,並非令你可以寫到專業的程式碼,亦非令你可以維護一間公司的大型項目。
當你讀完這些課程後,你可以得到的是基本的編程知識,還會有一些課堂的筆記和錄影、或一些編碼的模版。但你未必可以獨當一面,獨力完成並維護所有項目。
為什麼畢業後,工作總是做不長
很多坊間編碼課程的畢業生會投身業界工作,他們或會去軟件商開發項目、或會去企業維護內部系統。跟開發項目不同,企業的內部系統很講求維護性。可惜坊間的短期課程並沒有強調這方面的訓練。
缺乏了系統維護意識的工程師,大多數都不會採用模組化功能、系統會缺乏支撐性文件 (documentation)、原始碼沒有備註等等。當有程式錯誤 (software bug) 的時候,他們需要從頭開始檢查進行除錯。如果是小型系統還好,但隨著時間累積,企業內部的系統只會越做越大,越來越複雜,到某個臨界點時就會再無從入手。
去企業開發內部系統的畢業生,一般第一年還可以應付到,只是到了第二年會開始跟不上,上班感到很難受,然後又想轉工去了。
Codeble 的著眼點 —— 容易維護的程式碼
Codeble 的編碼課程會以容易維護為前提,教導學員正確的系統框架設計及如何編寫簡潔的程式碼。
課堂中,我們不會側重基本的編程知識,而是要學員採用 Test-driven development (TDD) 方法過行編程。學員會先接到實戰課題,然後不斷嘗試進行編碼,從失敗中學習,再不斷改進程式碼。
這樣從不斷失敗中學習的過程,起初或會令學員感到迷茫,但我們的導師除了會在技術上給予適當的指導外,還會指導學員如何增強意志力,無懼困難勇往直前。正因為學員預先有這樣的精神鍛鍊,日後他們在職場上便能不斷進步、獨當一面。
當學員可以寫出簡潔的程式碼並有完整備註、又有正確的系統框架設計、又將功能模板化,日後當需要除錯程式或對系統進行大型改動時,也會有信心及能力做到。
Codeble 學員的分享
有一位Codeble畢業學員,他被委派一個大型的項目。雖然起初他感到無從入手十分迷茫,但他記起了Codeble 導師教他的 TDD 方法。
於是他先把大型項目的功能拆解成多個小部分,然後就嘗試編程每個小部份,再測試,遇到有問題修正,直到把問題解決為止。就這樣,他的項目一步一步地完成了。
後來,他跟大家分享說:「幸好我在 Codeble 中學會了解決問題的方法。在這個項目中,TDD是唯一可以令到項目推前的方法。」
Codeble 的教育方針不是針對基礎知識,而是教授學員畢生受用的如何解決問題的方法。當我們面對新挑戰時或會有所迷茫,在迷茫的時候我們或會固步不前。此時,只有勇敢地不斷做不斷試,事情就會被推進,契機就會出現。