iT邦幫忙

重構相關文章
共有 75 則文章
鐵人賽 IT技術 DAY 13
30天快速上手TDD 系列 第 13

技術 [Day 13]Refactoring - 告訴我,你要什麼

在上一篇文章中,透過分離主詞與動詞,定義出其他的物件與對應的行為,將不屬於當下物件的職責,拆分到其他的物件上。 在拆物件的過程中,還是一再強調,我們要把關注點放...

鐵人賽 IT技術 DAY 12
30天快速上手TDD 系列 第 12

技術 [Day 12]Refactoring - 職責分離

在上一篇文章中,介紹了先透過理解程式碼,加上註解與排版後,讓我們看了程式碼心情不會再這麼不爽。 也因為抽象思考完,用自己的話在註解來描述程式碼的目的與行為,所以...

鐵人賽 IT技術 DAY 11
30天快速上手TDD 系列 第 11

技術 [Day 11]Refactoring - 讓程式碼說話

上一篇文章,介紹了重構的第一步,就是建立測試。跨出了這第一步,才能確保後面的重構動作不會影響到結果。這也是為什麼本系列文章,需要先介紹測試的技巧、目的以及方式。...

鐵人賽 IT技術 DAY 10
30天快速上手TDD 系列 第 10

技術 [Day 10]Refactoring 起手式 - 建立測試

上一篇文章中,介紹了如何透過一些靜態程式碼分析的工具,搭配品質指標的門檻,來快速找到系統中需要重構的程式。 也稍微的介紹了,重構目標的程式基本功能與樣式。 這一...

鐵人賽 IT技術 DAY 9
30天快速上手TDD 系列 第 9

技術 [Day 9]Refactoring legacy code簡介

到上一篇文章為止,TDD中所需具備的基本測試知識,已經告一段落。 接下來要練習的,是重構的手法。 接下來幾篇文章,會跟各位讀者朋友介紹: 要怎麼找到需要重構的...

鐵人賽 IT技術鐵人 DAY 11

技術 [如何提升系統品質-Day11]重構-使用介面+迴圈取代不穩定的判斷式

今天要分享的部分,是把一陀很類似卻又攤在程式碼中的判斷式,想辦法抽象化。例子會有點像[如何提升系統品質-Day8]重構-簡化判斷式,但相信這次舉的例子會更貼近大...

鐵人賽 IT技術鐵人 DAY 10

技術 [如何提升系統品質-Day10]重構-合併重複的條件片段

這次的目標一樣是用抽象地角度來看我們的程式碼,用人類的話來解釋程式碼的目的與行為,並且避免重複的程式碼出現。 [如何提升系統品質]系列文章連結 需求說明 我們有...

鐵人賽 IT技術鐵人 DAY 9

技術 [如何提升系統品質-Day9]重構-簡化判斷式

前面提到了許多篇重構的方式,都是偏向pattern或較大面向的設計重構,在面對比較大的系統包袱時,或許大家比較沒法子運用的得心應手,所以接下來會穿插一些誰都可以...

鐵人賽 IT技術鐵人 DAY 8

技術 [如何提升系統品質-Day8]重構-抽象來看程式是否符合DRY原則

之前有提到,應該要抽象地去思考與設計程式。面對既存在的程式碼也是如此,如果看到的只是『一行一行』的程式碼,那就只是『見山是山』的程度。 許多好的軟體公司,都有c...

鐵人賽 IT技術鐵人 DAY 6

技術 [如何提升系統品質-Day6]重構-簡單使用interface之『你也會IoC』

上次v3版本,我們將Entity, Service, Dao, Utility都放到了類別庫裡面,讓我們可以輕鬆的在不同專案中用同一份組件。雖然文章沒有獲得太多...

鐵人賽 IT技術鐵人 DAY 5

技術 [如何提升系統品質-Day5]重構-跨專案使用類別庫

從重構的v1開始,介紹了原型糾結版,怎麼樣從糾結成一團的程式碼,將UI、Service與Dao的觀念獨立開來(請參考:重構– UI, Business logi...

鐵人賽 IT技術鐵人 DAY 4

技術 [如何提升系統品質-Day4]重構– DRY & Top-Down思考方式(2)

上一篇的[如何提升系統品質-Day3]重構– DRY & Top-Down思考方式(1)文章因為篇幅限制,所以這一篇會將最後的幾個步驟完成,並看到重構後...

鐵人賽 IT技術鐵人 DAY 3

達標好文 技術 [如何提升系統品質-Day3]重構– DRY & Top-Down思考方式(1)

本篇文章接著上一篇的[如何提升系統品質-Day2]重構– UI, Business logic, Data access概念分開,繼續往下重構。 現實是殘酷的,...

鐵人賽 IT技術鐵人 DAY 2

技術 [如何提升系統品質-Day2]重構– UI, Business logic, Data access概念分開

程式寫的好與寫的不好,其實一直很難去定義出來。雖然可以透過一些Quality attribute以及相關的KPI來決定所謂的品質,但卻很難去解釋怎麼樣的寫法,會...

技術 課程 : Web 程式重構

WEB 程式重構 你接手的案子,是不是剪不斷理還亂?看到就想砍掉重練呢? 但是從頭再來卻又不能保證功能一模一樣,而且老闆也不一定會給你時間。 除了擺爛讓網站程式...