錨點標籤 錨點標籤(anchor tags)提供可連到其他HTML文件或同一份HTML文件中段落的連結能搭配常用來顯示狀態:link、:visited、:foc...
數據顯示,工程師完成最後 20% 的工作時間跟之前的 80% 一樣多 完成功能後,重構是另一個開始 昨天我們完成了一個跑得動的程式,但很明顯這不是一個好的程...
建造較佳的盒框 盒框模型(box model)是瀏覽器決定如何渲染(render)一個方型區域的方法,因此瞭解盒框模型的運作對我們而言是很重要的,而HTML的所...
切斷CSS與JavaScript的耦合 用來為元素指定樣式的類別與ID不應該在JavaScript中被用來選取元素,因為這樣就會產生相依性(dependency...
程式碼設計框架對測試碼可測試性的影響 今天進到核心技術的第三個系列—重構 (Refactoring) 與接縫 (Seam),那不免俗的先來看 Roy Osher...
第五章 測試 測試 測試CSS可能會很困難,因為有許多不同的平台、螢幕尺寸、與裝置形體(form factors)需要進行測試。 測試為何困難? 如果要徹底檢測...
影像 圖片可以透過<img>、<picture>標籤來呈現。因為<img>元素可以在行內的格式情境中使用,此外<img...
本文同步發自於個人blog - [Refactoring] Chapter 2 Principles in Refactoring - Book Summary...
本篇同步發文於個人網站: A First Set of Refactorings This article references the chapter 6 ”...
前情提要一下,上次在變數命名的善意那篇中我們把arr換成seats代表一堆位置,n1換成seat代表位置索引,n2換成number代表要放入seats內的值,這...
本篇同步發文於個人網站: Encapsulation This article references the chapter 7 ” Encapsulation...
Unit Test 應用於使用重構與測試手法優化 C# Code-3-前言 昨天已經把 DemoCalculate 中的 Calculate 方法檢驗參數的部分...
上次在用函式來傳達你的心意> 0 <中我們把while迴圈內在做什麼用函式名稱詮釋出來,看起來像是在閱讀一篇文章一樣,這次讓我帶你看main裡面還有...
大家好,我是一宵三筵!接下來幾篇是實戰篇!也就是實際運用於工作會分享我平常是怎麼使用ChatGPT幫我完成工作的 那我個人在工作上,近期部門主要活動除了開發新的...
本篇同步發文於個人網站: Moving Features This article references the chapter 8 " Moving...
Unit Test 應用於使用重構與測試手法優化 C# Code-2-前言 昨天有提到我們在 Console 執行應用程式時,可以依序輸入 ID、名字、數學數值...
本篇同步發文於個人網站: Organizing Data This article references the chapter 9 ” Organizing...
這是一小段泡沫排序法的程式碼,可是在說什麼呢?你可以試著閱讀他,但千萬不要勉強自己。 int main() { int arr[10] = {99, 0...
前言 程式碼臭臭? 何為程式碼異味? 程式碼又是如何散發「臭味」? 在「重構:改善既有程式的設計」 這本書有提到,程式碼異味(Code Smell)是在講說,程...
本文同步於個人部落格: Simplifying Conditional Logic This article references the chapter 10...
已經過了鐵人賽的三分之二了,也是花了近三分之一的篇幅跟大家分享,從故事中舉例可以做哪些優化。而這些痛點在改善之後,下一個發生問題的點又出現,然後又再一次次地發現...
本章內容 型別層次(is-a)進行重構 原則 分類: 找出共通性、差異性,越接近根部,越通用,越接近底部,越具體。 合併: 分類後組成超型別(共通...
什麼是Code smells? 簡單來說, 是指在軟體開發過程中, 描述不良的程式設計或實作所擁有的常見特徵. 這些特徵會導致程式碼難以了解、維護或擴展. 有哪...
這一系列文章, 絕大部分是讀好幾本經典的重構、clean code的書, 將筆記與實作作為發表. 本身工作快10年, 身處在非純軟的工作環境.學生時代也不懂什麼...
Conditional Complexity 簡介 在程式碼區塊使用不同的冗長的if/else/switch判斷條件, 該函數的複雜度越來越大. 重構前範例 假...
Tight coupling的說明 緊耦合指的是兩個或多個類別(模組), 彼此高度的相互依賴 緊耦合導致程式碼難以維護與修改, 因為修改一個類別會連續性影響另...
Introduce Null Object 簡介 程式碼到處是處理null欄位或變數的重複邏輯. 重構前範例 假設有個JobRunner類別, 用來執行特定任務...
Replace Type Code with Class 簡介 原因: 欄位使用int、string等的類型, 無法保護它不受不正確的賦值和非法的等同性比較解法...
Introduce Parameter Object 簡介 有函數有太多的參數時,可以將這些參數包裝成parameter object. 重構前範例 假設有個出...
在使用nameof之前 在實作需要class, property與method名稱的功能時, 程式碼各處寫了hardcode的字串來表示這些名稱.但總會有寫錯的...