在這本獨一無二的書中,《代碼重構(Visual Basic版)》作者向您介紹如何利用重構改進現有代碼的設計,使之變得更有效和更具生產力。它提供了實用方法,所以您可以快速學會如何使用重構工具和功能來管理和修改代碼。《代碼重構(Visual Basic版)》還介紹了如何進行單元測試、重構模式和重構升級原有的Visual Basic 代碼
基本介紹
- 書名:代碼重構(VisualBasic版)
- 作者:(美)阿瑟諾維斯基
- 原版名稱:Professional Refactoring in Visual Basic
- 譯者:馮飛
- ISBN:9787302200840
- 類別:程式語言與程式設計
- 頁數:486
- 定價:68
- 出版社:清華大學出版社
- 出版時間:2009-05-01
- 裝幀:平裝
- 開本:16開
內容簡介,編輯推薦,目錄,
內容簡介
《代碼重構(VisualBasic版)》還介紹了如何進行單元測試、重構模式以及重構升級原有的VisualBasic代碼。在學習《代碼重構(VisualBasic版)》的過程中,將從頭開始構建原型應用程式。然後,利用重構技術將代碼轉換為正確設計的、企業級的應用程式。《代碼重構(VisualBasic版)》作者將手把手地教您每個過程,同時提供了專家級的編碼技巧。然後,可以將這些信息套用到由於公司擴張、策略改變或類似業務決策所引起的實際情形中。
編輯推薦
在這本獨一無二的書中,《代碼重構(VisualBasic版)》作者向您介紹如何利用重構改進現有代碼的設計,使之變得更有效和更具生產力。《代碼重構(VisualBasic版)》提供了實用方法,這樣您將快速學會如何使用重構工具和功能來管理並修改代碼。
《代碼重構(VisualBasic版)》主要內容
組裝重構工具箱的步驟
如何激活explicit和strict編譯器選項
錯誤處理的有效策略
如何消除無用代碼、縮小作用域以及刪除無用的引用
方法合併和提取技巧
高級面向對象概念和相關重構
利用LINO和其他VB2008增強功能的技巧
核心重構和基本代碼味道
如何利用免費的Refactor!VisualBasic外掛程式
VisualBasic特定的重構和味道
《代碼重構(VisualBasic版)》讀者對象
《代碼重構(VisualBasic版)》適用於熟悉基本的面向對象概念、Visual:Basic以及VisualStudio環境的中高級編程人員、開發人員或是NET軟體架構師。
目錄
第Ⅰ部分 重構的介紹
第1章 重構的全面介紹
1.1 重構的快速瀏覽
1.1.1 重構過程
1.1.2 軟體行業現狀概述
1.2 重構過程的詳細介紹
1.2.1 代碼味道的使用
1.2.2 代碼的轉換
1.2.3 重構的優點
1.2.4 澄清一些常見的誤解
1.3 VisuallBasic和重構
1.3.1 VisualBasic的發展史和遺留問題
1.3.2 VisualBasic的演變
1.3.3 通過重構處理遺留的問題
1.4 小結
第2章 重構的初體驗
2.1 CaloriesCalculatoi樣本應用程式
2.1.1 CaloriesCalculator應用程式
2.1.2 需求的增長:計算理想的體重
2.1.3 需求的增長:保存病人的數據
2.2 運用中的重構
2.2.1 將:BtnCalculateClick方法分解
2.2.2 發現新的類
2.2.3 限制Patient類的接口
2.2.4 將條件邏輯放到Patient類中
2.2.5 創建Patient類的層次結構
2.3 保存功能的實現
2.3.1 保存數據
2.3.2 實現顯示病人歷史信息的功能
2.4 CalOriesCalculator重構過的版本
2.5 小結
第3章 組建重構的工具箱,
3.1 使用自動化的重構工具
3.1.1 JetBrains提供的ReSharper
3.1.2 WholeTomato提供的VisualAssistX
3.1.3 DeveloperExpress提供的Refactor!Pro
3.1.4 從Refactor!開始入手
3.1.5 進一步探討VB用戶界面的Refactor!
3.1.6 快速瀏覽:可供使用的重構
3.2 單元測試的基本內容:測試的護具
3.2.1 單元測試架構的出現
3.2.2 NUnit的初體驗
3.2.3 NUnit的安裝
3.2.4 第一個測試的實現
3.2.5 測試驅動的方法
3.2.6 需要考慮的其他測試工具
3.3 關於版本控制的一些問題
3.4 小結
第4章 Rent.a.Wheels應用程式的原型
4.1 會見客戶
4.1.1 會見經理
4.1.2 會見前台接待員
4.1.3 會見停車場的服務人員
4.1.4 會見維護人員
4.2 採取Rent.a.Whneels項目中最初的步驟
4.2.1 參與者和用例
4.2.2 汽車的狀態
4.2.3 首次擬定主要的應用程式視窗
4.2.4.Rent.a.Wheels開發團隊的會議
4.3 讓原型運轉
4.3.1 檢查資料庫模型
4.3.2 檢查VisualBasic的代碼
4.4 快速而高效的VB編程方法
4.4.1 資料庫驅動的設計
4.4.2 基於GUI的應用程式
4.4.3 事件驅動的編程
4.4.4 快速應用程式開發(RAD)
4.4.5 複製,貼上作為代碼重用的機制
4.5 通過重構過程從原型進入到交付
4.6 小結
第Ⅱ部分 VB重構的初步知識
第5章 Chameleon語言:從靜態弱類型化到動態強類型化
5.1 OptionEXplicit和OptionStrict的.NET影響
5.2 在不嚴格的代碼中設定ODtiOnExplicitOn
5.2.1 理解SetOptionExplicitOn重構
5.2.2 將Rent.a.Wheels代碼重構成顯式的形式
5.3 在不嚴格的代碼中設定ODtionStrict0n
5.3.1 一個有點人為的隨意的VB代碼示例
5.3.2 通過新變數的定義來解決變數的複雜用法
5.3.3 推斷變數的類型
5.3.4 通過類型轉換函式將所有內容整合在一起
5.3.5 方法、欄位、屬性和其他成員的處理
5.3.6 將SetOptionStrictOn重構運用到Rent.a.Wheels應用程式中
5.4 靜態類型化對動態類型化及其與ⅥsualBasic的關係
5.4.1 VisualBasic6及其之前版本中的後期綁定
5.4.2 鴨子類型化
5.4.3 在檔案層次上重設動態行為或靜態行為
5.4.4 為動態代碼提供一個靜態類型化的封裝器
5.5 激活顯式而嚴格的編譯器選項
5.5.1 在Proiect.Properties視窗中設定選項
5.5.2 更改VisualBasic編譯器的默認行為
5.5.3 在源檔案中設定選項
5.5.4 使用項模板來設定選項
5.6 小結
第6章 錯誤處理:以一些簡單的步驟從傳統風格步入到結構化風格
6.1 傳統的錯誤處理和結構化的錯誤處理
6.1.1 傳統的(非結構化的)錯誤處理
6.1.2 結構化的錯誤處理
6.2 結構化錯誤處理的好處
6.2.1 結構化的代碼和非結構化的代碼
6.2.2 作為類型而不是數字出現的異常
6.2.3 錯誤過濾
6.2.4 Finally代碼塊
6.2.5.NET的互操作性
6.3 用Try.Carch.Finally取代OnE1TOt.構造
6.3.1 理解關鍵字When
6.3.2 用Try.Catch.Finally替換OnError的重構步驟
6.3.3 用Try.Catch.Finally構造替換OnErrorGoto標籤
6.3.4 用Try.Catch.Finally構造替換OnErrorResumeNext
6.4 用異常類型替換錯誤代碼
6.4.1 用異常類型替換系統錯誤代碼
6.4.2 用異常類型來替換自定義的錯誤代碼
6.5 Rent—a—Wheels應用程式中的錯誤處理
6.6 小結
第7章 基本的代碼衛生:消除無用代碼、降低作用域、使用顯式導入以及刪除不用的引用
7.1 刪除無用代碼
7.1.1 無用代碼的類型
7.1.2 無用代碼常見的來源
7.2 降低過度曝光的元素的作用域和訪問級別
7.2.1 作用域和訪問級別
7.2.2 過度曝光常見的來源
7.2.3 處理過度曝光的問題
7.3 使用顯式導入
7.4 刪除未使用的程式集引用
7.5 Rent.a.Wheels應用程式中的基本衛生
7.6 小結
第Ⅲ部分 標準重構轉換的初步介紹
第8章 從問題域到代碼:消除差距
8.1 理解問題域
8.1.1 第1步:收集信息
8.1.2 第2步:就辭彙表達成一致意見
8.1.3 第3步:描述互動作用
8.1.4 第4步:建立原型
8.2 命名的指導原則
8.2.1 大寫風格
8.2.2 簡單的命名指導原則
8.2.3 順暢地傳遞信息:選擇正確的單詞
8.2.4 Rename重構
8.3 發布接口和公有接口
8.3.1 自包含的應用程式與可重用的模組
8.3.2 修改公有接口
8.3.3 Refactor!中的SafeRenam重構
8.4 Rent.a.W1aeels應用程式中的Rename和SafeRename重構
8.5 小結
第9章 對重複代碼進行方法提取
9.1 保持封裝代碼和隱藏細節的原因
9.2 信息和實現的隱藏
9.3 分解方法
9.3.1 周長計算——長方法的一個示例
9.3.2 提取周長計算的代碼
9.3.3 提取計算半徑的代碼
9.3.4 提取WaitforUsertoClose代碼
9.3.5 提取讀取坐標的代碼
9.3.6 Refactorl中的ExtractMemod重構
9.4 重複代碼的味道
9.4.1 重複代碼的來源
9.4.2 複製/貼上編程
9.5 幻數
9.6 Rent.a.wheels應用程式中的ExtractMethod和ReplaceMagicLiteral重構
9.7 小結
第10章 方法合併與方法提取的技術
10.1 臨時變數的處理:
10.1.1 MoveDeclarationNearReference重構
10.1.2 MoveInitializationtoDeclaration重構
10.1.3 SplitTemporaryVariable重構
10.1.4 InlineFemp重構
10.1.5 ReplaceFempwithQuery重構
10.2 方法重組的試探
10.3 方法重組與Rent—a.Wlleels
10.3.1 刪除Rent.a.wheels中的重複
10.3.2 Rent.a.Wheels中的幻數、注釋以及事件處理盲區
10.4 小結
第Ⅳ部分 高級重構
第Ⅴ部分 重構的運用
……