iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

程式淨化計畫:痛苦是重構的起源! 系列

以C#程式語言介紹Clean code、架構等相關內容.

鐵人鍊成 | 共 31 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

外覆(Wrap) 方法與類別

外覆方法 重構前 假如有個類別Employee, 用來處理支付薪水的函數Pay() public class Employee { public voi...

2024-09-25 ‧ 由 glj8989332 分享
DAY 12

保持邏輯的局部性

保持邏輯的局部性 簡介 假如有個複雜邏輯的演算法, 需要重構成一個函數, 但是這邏輯只會用在一個地方. 重構範例 假如有個手機遊戲, 根據會員的等級, 所消費的...

2024-09-26 ‧ 由 glj8989332 分享
DAY 13

Replace Exception with Test 的重構

Replace Exception with Test 簡介 假如有段邏輯, 只需要做個簡單的測試(判斷)即可完成功能, 但卻有例外狀況的處理. 重構前範例 假...

2024-09-27 ‧ 由 glj8989332 分享
DAY 14

Replace Error Code with Exception 的重構

Replace Error Code with Exception 簡介 假如有個函數, 它回傳特殊值來代表某種錯誤...? 重構前範例 假設有個購物車系統,...

2024-09-28 ‧ 由 glj8989332 分享
DAY 15

使用 nameof 的重構

在使用nameof之前 在實作需要class, property與method名稱的功能時, 程式碼各處寫了hardcode的字串來表示這些名稱.但總會有寫錯的...

2024-09-29 ‧ 由 glj8989332 分享
DAY 16

什麼是測試驅動開發(Test Driven Development)

流程 當我們與使用者討論完需求, 並整理成需求清單, 則可依照清單做測試開發.假設如下圖1, 有3筆需求, 我們先為第一筆需求撰寫會失敗(紅燈)的測試. 圖1...

2024-09-30 ‧ 由 glj8989332 分享
DAY 17

Clean Code 第1章 - 無暇的程式碼

本篇是閱讀Robert C. Martin的偉大書籍 - Clean Code的第一章筆記 There Will Be Code 不管現在由AI產出的程式碼,...

2024-10-01 ‧ 由 glj8989332 分享
DAY 18

Cohesion 內聚

Low cohesion的說明 一個類別或模組的職責太多, 或者它的函數之間沒有緊密的關係 低內聚的類別群, 會讓開發者難以理解與維護 因為它們執行不相關的...

2024-10-02 ‧ 由 glj8989332 分享
DAY 19

Coupling 耦合

Tight coupling的說明 緊耦合指的是兩個或多個類別(模組), 彼此高度的相互依賴 緊耦合導致程式碼難以維護與修改, 因為修改一個類別會連續性影響另...

2024-10-03 ‧ 由 glj8989332 分享
DAY 20

Removing Shotgun Surgery 的重構

Removing Shotgun Surgery 簡介 當異動一項功能, 導致系統其他的程式碼也得異動.稱為Shotgun surgery是一種比喻, 霰彈槍發...

2024-10-04 ‧ 由 glj8989332 分享