Wen Taichi

Unity Game Developer

Wen Taichi | Unity Game Developer

Result Pattern 與軌道導向程式設計 (Railway Oriented Programming)

上一篇:Result Pattern 與錯誤處理 按照 Result Pattern 的概念,我們經常需要處理各種錯誤。但是為了適當的處理錯誤,程式碼總是會變得太長,導致不容易閱讀。像是以下的程式碼:

為何 Unity 的 Round() 是往偶數捨入?

首先,.NET 預設的 Round() 就是這樣,我想 Unity 官方其實也沒想那麼多,就只是把原本只支援 double 的 Math 類別改成支援 float 而已。 至於為什麼預設會使用 ToEven,是由於財經與統計方面的關係。

敏捷不該有重構階段

這是 Martin Fowler 在 2011 年的 Opportunistic Refactoring 其中的概念。 作為工程師,我們當然都經歷過,程式碼擴增到了某個時間點就會開始變得笨重,笨重到連新增一個理論上應該很簡單的功能都變得麻煩。如果你夠有責任感,你可能會想要花些時間整理程式碼,也就是所謂的「重構」。甚至,你可能會想要一個 sprint 來專門重構程式碼,我們姑且稱為「重構階段」好了。

Result Pattern 與錯誤處理

有些狀況下,我們會有個流程進行一系列的工作。但每一個步驟都有可能失敗,而且失敗的狀況還 不只一種。對於這種狀況,我們會想要明確的知道失敗的種類,讓我們安全的進行後續處理。

MVP 模式的職責區分 (2) - View 與 Presenter

※ 雖然此篇與 Unity 比較有關,但是概念適用於現代的 MVx 系列。 Presenter 的工作是站在 Model 與 View 中間協調兩邊的運作。一方面取得 Model 的資料與事件,根據展示需求傳達給 View;一方面接收使用者操作 View 的行為,決定如何與操作 Model 工作以及更進一步的展示。 但是 Presenter 和 View 的分界概念到底是什麼?