在很久很久以前,電腦剛剛發明不久的年代,世界上是不存在程式碼寫作範式這樣的東西的,大家按步就班地按照順序給電腦下指令就能解決問題。然而好景不常,隨著人們要解決的問題越來越難、專案的規模越來越大,本來「按照順序給電腦下指令」就能解決的問題漸漸變得越來越難以解決。
不知道大家是否跟我有一樣的經驗,在上大學第一堂程式設計課的時候,才學會用 C 寫 hello world 不久,剛剛才要開始 if else,就聽到老師一臉嚴肅的警告
不要亂用 goto,goto 會讓你的程式碼變糟糕 !
後來隨著程式越寫越多,漸漸增廣見聞之後,又常常聽見更多類似的句子,例如
不要亂用全域變數,全域變數會讓你的程式碼變糟糕 !
不要製造無窮迴圈,無窮迴圈會讓你的程式碼變糟糕 !
甚至還有更極端的
不要用變數,變數會讓你的程式碼變糟糕 !
這一些規則或理念是建立在許多前人的慘痛教訓下形成的,想必是非常重要的寶貴知識,可以避免我們的程式碼變成義大利麵 (Spaghetti code),但是零零散散的一條一條拿出來講實在不方便討論,再加上某些理念還會互相衝突 ....於是程式碼寫作範式就出現了,有智慧的人們或是社群領袖 整合 了各種理念與規則後所形成了一種指引,解此以引導茫茫程式海中的碼農們,告訴大家
這樣寫就不會出問題