蒼時弦也
蒼時弦也
資深軟體工程師
發表於

結語 - Rails 開發實踐

這篇文章是 Rails 開發實踐 系列的一部分。

這一系列算是一個新的嘗試,以往在撰寫技術文章時大多會將許多情報壓縮在一篇的內容中討論,然而這樣的情報量對許多人來說仍然是負擔很大的。

即使將其拆分到約四個月的內容量,我仍發現很難在不細說 Domain-Driven Design、Clean Architecture 等等觀念完善的解釋,但我還是選擇不特別去提出這些內容。

資訊爆炸

在網路世界,我們獲取資訊是非常容易的,也因此在學習一項技能的時候大多需要從大量的內容篩選出少數的資訊。

除此之外,更令人痛苦的是每一個技巧又會由許多不同的技巧構成,像是在理解 Entity(實體)跟 Repository(倉庫)之前,我們看到的 Model(模型)可能是很單純的資料與物件對應。

當對 Domain Model(領域模型)有了概念後,就得去了解 Value Object(值物件)、Entity、Service Object(服務物件)、Repository 等等不同的概念,對大多數人來說一篇文章就充滿了「難以理解」的資訊,最後覺得學習非常困難。

用實踐打底

有些人習慣先學理論再實作,有些則是先實作再了解理論,實際上並沒有先後順序之分,對不熟悉的人來說,先看到「過程」再去理解「原理」是更加直覺的。

正因如此,這一系列的文章先從願景開始提出一個目標,然後將我在日常工作中的方式重現出來,透過拆解工作階段的方式讓大家了解進行軟體開發能夠有怎樣的進行方式,以及如何改善我們以往習慣的做法。

相較過去直接點出許多關鍵技巧的方式,這種模式應該更能幫助到其他人在學習相關的技巧上,這一次的內容還是相對比較實驗性的。

未來計畫

原本這系列是想實驗以會員制的方式訂閱呈現,然而在實際撰寫後,認為還是公開分享比較適合。最初把這系列定位成「第一季」的模式,希望以不同期的模式來做更新。

然而,在後續安排的系列裡面,發現自己還是更喜歡以一組連貫的實作來進行。下一個系列會更詳細的介紹 Cucumber 並且加入 Vue.js 的實際應用,讓大家直接的感受類似的開發邏輯,即使轉換到不同的語言、環境以及架構,也能很好的發揮效果。

未來的幾年會持續挑戰以四到五個月為一個系列的方式,用不同的面相和角度去講述我在 Clean Architecture、Domain-Driven Design 和敏捷開發的實踐與反思。