這影片是【C#進階設計-從重構學會高易用性與高彈性API設計】實際上課的錄影片段,如何針對已經完成的 SequenceEqual() API 來進行重構。
這一小段影片帶到課中的幾個重點:
① 我寫程式的方式與順序,可能跟一般人很不一樣。(也可以看到,除非為了方便說明,我寫 code 是不用滑鼠的。不只是 shortcut 而已,包含移動、定位也是)
② IEqualityComparer 的目的與使用方式,何謂 Equals(), 何謂 GetHashCode(),如何調用 default 的 EqualityComparer。
③ 提取參數,讓所有呼叫端可以一次更著新的 API 作法調整。
④ GetEnumerator(), IEnumerable, IEnumerator 設計與使用
⑤ Use Base Type Where Possible,可以用基底的抽象類別或介面,就使用基底型別來提昇使用上的彈性
⑥ 泛型 (generic) 是如何被重構出來的
⑦ 如何在測試保護下,小步快跑地重構出更有彈性的 API 與實作內容。
下次課程日期在 2020/2/28~2020/3/1,課程簡介與報名:https://dotblogs.com.tw/hatelove/2019/08/19/csharp-advance-api-design-202002
※ 2020 年僅此一梯次,想一次搞懂 C# 的基礎原理、資料結構的應用場景、在測試保護下運用工具的重構套路,這是最後的機會啦。
Search