搜尋文章分類:模式

旋轉箭頭符號

如何重寫陳舊系統:就像忒修斯之船

近期面對許多陳舊代碼維護的問題,碰巧我翻找到這個部落格:Understand Legacy Code,紀錄一下「重寫」陳舊系統可能會遇到的困境與解套方案。以我自己手上的專案為例,在進行專案升級評估時發現事情比原先想像還要複雜!

開放框線中央有一個旋轉箭頭符號

了解網頁的三大渲染模式 Rendering Patterns feat. SSG, SSR, CSR

當建構一個網頁的時候,最首要面對的問題就是「網頁內容要怎麼生成並提交給用戶?」,而為了解決這個問題所產生的解決方法就是「網頁渲染模式 (Rendering Pattern)」。建構網站有許多種方式,藉由了解它們之間的取捨可以更好的幫助你建構下一個網頁專案。

雙向箭頭符號

什麼是 Ajax 以及為什麼不是 Ajaj?

「什麼是 Ajax 以及為什麼不是 Ajaj?」,這個問題一直在腦海中停留許久,有人和我一樣思考 Ajaj 之類的稱呼的可能性嗎?經過一些調查了解背後的原因並寫成文章,關於 Ajax 的歷史以及名稱的由來可以參考看看我的發現。

重疊卡片符號

給初學者的 Jamstack 介紹

瀏覽器已經不再是簡單的文件閱讀器,而是一個完整的平台,用戶期望網頁變得像應用程式一樣使用起來絲滑流暢,你可能在近期會很常聽到 Jamstack 這個詞彙,簡單來說它是一種現代建構網頁應用的方式。藉由這篇入門文章你可以了解:為什麼需要它?以及如何實踐這項技術。

文章圖示

為什麼需要柯里化函式

柯里化就是將使用多個參數的函式轉換成一系列使用一個參數的函式,用不同的思考方式來撰寫函式,藉由將一個大函式分解成很多僅使用一個參數的函式,打造可被重複利用與輕鬆除錯的函式,透過實際製作三明治函式案例簡白的說明柯里化的概念。

葉子符號

為什麼你需要純粹函式 (Pure Function)?

寫程式久了會發現撰寫乾淨可被維護的程式是一件相當困難的事情,其中一個造成難維護的原因是因為「函式除了運算並回傳結果之外過程中產生變化影響到其餘的程式」,換句話說問題就是「不必要的副作用,讓程式變得捉摸不定難以理解」,因此應該了解純粹函式的定義以及如何使用,為了更進一步撰寫撰寫乾淨的代碼。

人被圓圈守護符號

使用 Guard Clauses 迴避嵌套的流程判斷來增進閱讀性

如果你需要大於 3 層的嵌套,代表你已經搞砸了,應當考慮重構程式碼,應當透過反轉與封裝程式來重構邏輯。這篇文章將詳細的介紹現有問題以及使用 Guard Clauses 技巧撰寫更好閱讀的代碼,也就是透過反轉邏輯的技巧來撰寫更少嵌套邏輯的程式。