
寫好程式的方法 - 加入程式的脈絡
對脈絡(Context)比較有清晰的概念是在今年研究 Domain-Driven Design 的時候,這幾天剛好因為工作需要修正 Golang 的靜態分析警告,想到這其實也跟脈絡有些關係,因此這篇文章會來跟大家分享幾種常見的「程式脈絡」
對脈絡(Context)比較有清晰的概念是在今年研究 Domain-Driven Design 的時候,這幾天剛好因為工作需要修正 Golang 的靜態分析警告,想到這其實也跟脈絡有些關係,因此這篇文章會來跟大家分享幾種常見的「程式脈絡」
教召一直是讀書的好時機,因此我利用五天的時間把 Clean Architecture 讀完。讓我覺得意外的是,以往我聽到在討論一些主題時會提到這本書的內容,其實大多跟這本書想傳達的資訊不太一致,除此之外我認為有很多值得討論的地方也沒有被大家討論。
因為把 Domain-Driven Design: The First 15 years 看完後腦中有了非常多想法,為了不要太快把這些東西忘記,只能盡快寫成文章記錄下來。
簡單來說,我認為 Domain-Driven Design 是一種「觀念」而不是理論或者實踐,他更接近於將「模型(Model)」的概念帶入到程式設計中,也因此在書中提到 Domain-Driven Design 是沒有嚴格規定,只有接近跟遠離核心的差異。
這幾年因為疫情的關係,還有參加研討會大多著重在交流上所以不太特別寫部落格來紀錄聽到的議程。然而,今年的 MOPCON 剛好是被邀稿,選了一個跟以往風格不太樣的的主題,同時也是自己選擇挑戰「創業」要用到的題目,一年的累積剛好在這場活動出現了質變。
前幾天同事根據客戶的需求在實作功能時請我幫忙檢查設計上是否有問題,因為是一段遺留代碼(Legacy Code)因此調整起來也不是那麼輕鬆。
其實同事的修改方式讓我不太滿意所以給了建議去調整,這是很多新手工程師會遇到的狀況,工作很少有機會去看到高品質的程式碼,最後就只能依照有問題的遺留代碼繼續修改跟當作學習參考。
最近剛好被人問到使用 Ruby on Rails 應該如何開發遊戲,因為是個很有趣的題目所以就利用週末的時間來簡單討論一下這個問題。雖然是以 Ruby on Rails 作為案例,不過這些經驗大致上是適用於所有程式語言的。
年初上完針對遺留代碼加入單元測試的藝術後,這週末又上了另一門相關的課程。在開始上課後發現很大的突破自己以往的觀念,同時也多出很多想法以及想嘗試的事情。
大概在 2019 年底就有考慮要來報名,結果一直拖到 2020 才下定決心。寫測試這件事情雖然很早就知道,不過一直到出社會開始工作後才逐漸的接觸,而且最開始的時候其實寫了很多糟糕的測試,直到這幾年逐漸摸索才有一個比較有系統的測試撰寫方式。
但是透過自學比較大的問題就是知識很多時候是沒有系統的,大多是碎片的形式同時我自己也不太擅長將這些東西歸納整理,也就會出現一些盲點。也因此這次參加課程主要有兩個目的,一個是看看是否適合作為公司內部訓練的選項建議老闆,另一方面就是我自己學東西的習慣,反覆的練習基礎來達到熟練一個技能。
不知不覺工作已經四年左右了,如果是從開始接觸程式語言計算的話似乎快要二十年。這幾年也開始擔任公司負責面試的主管,也看到越來越多工程師培訓班的出現以及更多的人挑戰轉職工程師。在這樣的狀況下,每次跟同事交流,我總是覺得我們不夠專業。
這也一直讓我在思考,作為一個「專業」的工程師應該要滿足什麼條件?
距離上一篇文章已經好幾個月了,手邊還有一些有趣的東西想寫不過實在太忙。每年參加完研討會都會寫一篇心得來記錄一下,不過我後面幾個月可能還要準備日本的 RubyKaigi(線上版)、鐵人賽跟在等投稿結果的 JSDC、MOPCON 等,應該是暫時沒辦法跟大家分享這幾個月找到的有趣技術。