iT邦幫忙

重構相關文章
共有 36 則文章
鐵人賽 AI & Data DAY 13

技術 【Day13】重構程式碼,減少歷史業障

數據顯示,工程師完成最後 20% 的工作時間跟之前的 80% 一樣多 完成功能後,重構是另一個開始 昨天我們完成了一個跑得動的程式,但很明顯這不是一個好的程...

鐵人賽 Modern Web DAY 25

技術 讓你的程式更美好 - 重構現有的程式碼

此篇文章同步發於個人部落格 開始重構程式碼,前幾天有提到 Controller 越來越肥大,程式碼越來越多,根本就已經超出人類想要看的範圍了!就像一篇好的文...

鐵人賽 Modern Web DAY 21

技術 Day21::我所知道的 CSS重構 第六章之二

切斷CSS與JavaScript的耦合 用來為元素指定樣式的類別與ID不應該在JavaScript中被用來選取元素,因為這樣就會產生相依性(dependency...

鐵人賽 Modern Web DAY 20

技術 Day20::我所知道的 CSS重構 第六章樣式碼置放與重構策略

第六章 樣式碼置放與重構策略 從特定度低到特定度高之樣式的順序來組織CSS CSS樣式依據特定度與被引用的順序來套用,按照被套用的順序來組織CSS也是很合理的...

鐵人賽 Modern Web DAY 19

技術 Day19::我所知道的 CSS重構 第五章之二

以幾種瀏覽器進行測試 在不同瀏覽器上檢測CSS最常見的方法是以手動方式進行測試 目前主流的瀏覽器有 Google Chrome Firefox Safari...

鐵人賽 Modern Web DAY 18

技術 Day18::我所知道的 CSS重構 第五章測試

第五章 測試 測試 測試CSS可能會很困難,因為有許多不同的平台、螢幕尺寸、與裝置形體(form factors)需要進行測試。 測試為何困難? 如果要徹底檢測...

鐵人賽 Modern Web DAY 17

技術 Day17::我所知道的 CSS重構 第四章之三

影像 圖片可以透過<img>、<picture>標籤來呈現。 因為<img>元素可以在行內的格式情境中使用,此外<im...

鐵人賽 Modern Web DAY 16

技術 Day16::我所知道的 CSS重構 第四章之二

錨點標籤 錨點標籤(anchor tags)提供可連到其他HTML文件或同一份HTML文件中段落的連結 能搭配常用來顯示狀態:link、:visited、:fo...

鐵人賽 Modern Web DAY 15

技術 Day15::我所知道的 CSS重構 第四章為不同類型的樣式分類

第四章 為不同類型的樣式分類 樣式分類的重要性 網頁可以被視為是用來呈現資訊的文件集,也能被視為一套複雜的應用程式 這兩種面像都需要具語意的HTML標籤來描述要...

鐵人賽 Modern Web DAY 14

技術 Day14::我所知道的 CSS重構 第三章之三

建造較佳的盒框 盒框模型(box model)是瀏覽器決定如何渲染(render)一個方型區域的方法,因此瞭解盒框模型的運作對我們而言是很重要的,而HTML的所...

鐵人賽 Modern Web DAY 13

技術 Day13::我所知道的 CSS重構 第三章之二

高效選擇器 簡單選擇器的效能會比複雜選擇器的效能要好,簡單的選擇器應該優先被使用 這是因為他比較容易被重複使用與理解而不是因為他們比較有效率。 由右向左比對選擇...

鐵人賽 Modern Web DAY 12

技術 Day12::我所知道的 CSS重構 第三章編寫較佳的CSS

第三章 編寫較佳的CSS 善用註解 註解可以幫助自己檢視自己之前所寫的程式碼或是段落說明 應該加上註解的部分包括: 檔案內容 選取器的相依性與用法等 為何要如...

鐵人賽 Modern Web DAY 11

技術 Day11::我所知道的 CSS重構 第二章瞭解串接

第二章 瞭解串接 什麼是串接? 串接(cascade) 是瀏覽器用來決定樣式如何套用到元素上的方法。 有許多樣式可以套用到同一個元素上,當樣式沒有依照預期的方法...

鐵人賽 Modern Web DAY 10

技術 Day10::我所知道的 CSS重構 第一章重構與架構

開始要求自己的程式碼的乾淨與可視程度之後被前輩推薦了一本書 接下來幾天會以這本書為主的閱讀筆記,筆記會節錄書中的片段文章 有興趣的朋友可以買來看看,這本書真的蠻...

技術 研討會 -- [台北]架構設計好簡單 - 快速從Web Form 升級 ASP.NET MVC(講師:Gelis)

很開心又邀請到一位高手來分享經驗,帶領大家實作。 相同的北風資料庫,從Web Form如何轉換成MVC呢? 這一天會讓您動手實戰,親身體會。 課前須知: 希望是...

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

技術 [Day 19]Refactoring - The End is the Beginning

從[Day 9]開始,一直到[Day 18],我們從最初不知道從哪開始重構,到現在程式碼變得高內聚、低耦合、可擴充、可讀、可維護,而且有了相關的測試保護,不再需...

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

技術 [Day 18]Refactoring - Factory Pattern

上篇文章透過簡單的重構一個function,將相同的部份抽出判斷式外,讓不同的部份影響範圍最低。因此解決了我們有著重複程式碼的問題。 更重要的是,透過這一個過程...

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

技術 [Day 17]Refactoring - Strategy Pattern

在上篇文章中,我們將各個物流商的物件,抽象化出來一個物流商的介面,這個介面提供了當下頁面物件所需要的功能: 計算運費 取得運費結果 取得物流商名稱 雖然頁面...

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

技術 [Day 16]Refactoring - 介面導向

上一篇文章中,將原本散落在頁面,屬於物流商職責的部分,搬移填入到物流商的物件中,並且通過了最原始的Selenium測試,代表符合了使用者的需求。也通過了單元測試...

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

技術 [Day 15]Refactoring - 食神歸位

前兩篇文章,我們先以當下物件的角度,思考屬於自己的職責是什麼。而不屬於自己職責的部份,該委託給哪個物件來進行。並思考清楚當下物件所需要的,究竟是什麼,接著不必去...

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

技術 [Day 14]Refactoring - 驗貨

在上一篇文章中,重構第五式:「給你錢,趕快做」中,重點在於如何站在當下物件的角度,去思考自身職責該處理的邏輯,並思考非自身職責的部分,該委託給哪一個物件來處理。...

鐵人賽 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...