書名: 設計重構:25個管理技術債的技巧消除軟體設計臭味
作者: Girish Suryanarayana、Ganesh Samarthyam、Tushar Sharma
ISBN: 9789864345229
出版社: 博碩
書籍開數、尺寸: 18.5x23x1.75
頁數: 272
內文印刷顏色: 單色
#資訊
#軟體工程與專案管理
定價: 520
售價: 442
庫存: 已售完
LINE US! 詢問這本書 團購優惠、書籍資訊 等
此書籍已售完,調書籍需2-5工作日。建議與有庫存書籍分開下單

付款方式: 超商取貨付款 line pay
信用卡 全支付
線上轉帳 Apple pay
物流方式: 超商取貨
宅配
門市自取

為您推薦

重構:改善.NET與C#應用程式的設計,償還欠下的技術債(使用GitHub Copilot與Visual Studio) (1版)

重構:改善.NET與C#應用程式的設計,償還欠下的技術債(使用GitHub Copilot與Visual Studio) (1版)

類似書籍推薦給您

【簡介】 『技術債在每個程式倉庫(codebase)中幾乎無所不在。它是一種隱喻,代表著軟體演變過程中留下的小小麻煩(有時並不那麼小),例如捷徑、混亂、設計不相符等問題,這些問題往往是由於軟體無法適應不斷變化的外部因素所造成的。如果不加以控制,這些問題就會導致工作效率急遽下降,而重構(refactoring)正是開發者處理這個問題的主要工具。這是每位開發者都應該掌握的重要技能。』 ——NimblePros首席架構師 Steve "ardalis" Smith 『這是一本.NET資淺到資深開發者都能受益的書。程式開發沒有人不需要重構,而重構未必需要很多高深的理論才能做,只要你學好本書的精髓,沒有Visual Studio一樣可以重構,只是有工具的幫忙可以發揮加分效果,這是我在審校本書時很深的體悟。』 ——微軟最有價值專家(Microsoft MVP) 陳傳興(Bruce Chen) 重構:改善.NET與C#應用程式的設計,償還欠下的技術債 Refactoring with C# 使用GitHub Copilot與Visual Studio 每個軟體專案剛開始時都是一塊全新的綠地(greenfield)樂園,但技術債(technical debt)往往比預期更早出現,軟體專案很快就會變成一片棕地(brownfield)荒野,徒留滿地遺留程式碼(legacy code)和技術債。在本書中,你將了解技術債的概念與成因,並學習使用Visual Studio的現代化工具,以及C# 12和.NET 8的最新語言功能,以此安全地重構你的C#程式碼。 我們將一步步指引你學會使用xUnit和Moq、Snapper、Scientist .NET等函式庫,使用這些工具,你就能執行更進階的單元測試,安全地進行重構。我們也會詳述SOLID原則,以及新版C#帶來的防禦性程式設計技巧,藉此打造更容易維護的程式碼。我們還會說明如何執行程式碼分析,並撰寫自訂的Roslyn分析器,來檢測和解決程式碼中獨有的問題。 程式設計的性質正在發生變化,為了迎接AI帶來的衝擊,本書「第11章」會專門討論GitHub Copilot Chat這個AI助理,看看它如何協助我們進行重構、測試、撰寫文件和產生程式碼。最後,我們也會討論如何在敏捷團隊和企業組織中,向領導者們溝通技術債的風險與重構的必要性,並獲得組織的支持與尊重。 讀完本書,你將理解重構的本質,了解如何安全、有效、可重複地償還應用程式中的技術債,同時為企業帶來價值。無論你是新手開發者,還是有多年經驗的資深開發者,相信你們都能在本書中找到一些實用的提示和技術。 ★學習目標★ ・理解技術債的成因、影響及預防方法 ・探索重構類別、方法和單行程式碼的不同做法 ・如何使用Moq等函式庫撰寫有效的單元測試 ・理解SOLID原則,以及如何打造可維護的程式碼 ・GitHub Copilot Chat如何協助開發者分析、改善和測試程式碼 ・應用程式碼分析和自訂Roslyn分析工具,確保程式碼保持整潔 ・在敏捷團隊中正面表達技術債的風險,並採用一致的程式碼標準 【範例程式碼】 讀者可以從GitHub下載本書的範例程式碼,如果程式碼有更新,作者也會直接更新在存放庫上:https://github.com/PacktPublishing/Refactoring-with-CSharp。 【彩色圖片】 博碩文化官網也有提供本書使用的螢幕畫面截圖及彩色圖表。 【目錄】 審校序 推薦序 貢獻者 前言 Part 1:在Visual Studio中使用C#進行重構 第1章:技術債、程式碼異味與重構 1.1 理解技術債和遺留程式碼 1.2 識別程式碼異味 1.3 介紹重構 1.4 案例研究:雲霄航空公司 1.5 小結 1.6 問題 1.7 延伸閱讀 第2章:重構簡介 2.1 技術需求 2.2 重構行李費用計算器 2.3 在其他編輯器中的重構 2.4 小結 2.5 問題 2.6 延伸閱讀 第3章:重構程式碼流程和迭代 3.1 技術需求 3.2 重構登機應用程式 3.3 控制程式流程 3.4 執行個體化物件 3.5 迭代集合 3.6 重構LINQ陳述式 3.7 檢查並測試我們重構後的程式碼 3.8 小結 3.9 問題 3.10 延伸閱讀 第4章:在方法層級的重構 4.1 技術需求 4.2 重構航班追蹤器 4.3 重構方法 4.4 重構建構函式 4.5 重構參數 4.6 重構為函式 4.7 介紹靜態方法和擴充方法 4.8 檢查並測試我們重構後的程式碼 4.9 小結 4.10 問題 4.11 延伸閱讀 第5章:物件導向重構 5.1 技術需求 5.2 重構航班搜尋系統 5.3 透過重構來組織類別 5.4 重構與繼承 5.5 使用抽象控制繼承 5.6 為更好的封裝進行重構 5.7 透過介面和多型來改善類別 5.8 檢查並測試我們重構後的程式碼 5.9 小結 5.10 問題 5.11 延伸閱讀 Part 2:安全地重構 第6章:單元測試 6.1 技術需求 6.2 理解測試和單元測試 6.3 使用xUnit測試程式碼 6.4 重構單元測試 6.5 探索其他測試框架 6.6 採取測試心態 6.7 小結 6.8 問題 6.9 延伸閱讀 第7章:測試驅動開發(TDD) 7.1 技術需求 7.2 什麼是TDD? 7.3 使用Visual Studio的TDD 7.4 何時使用TDD? 7.5 小結 7.6 問題 7.7 延伸閱讀 第8章:使用SOLID避免程式碼反模式 8.1 識別C#程式碼中的反模式 8.2 撰寫SOLID程式碼 8.3 考慮其他的架構原則 8.4 小結 8.5 問題 8.6 延伸閱讀 第9章:進階單元測試 9.1 技術需求 9.2 使用Shouldly建立易讀的測試 9.3 使用Bogus產生測試資料 9.4 使用Moq與NSubstitute模擬依賴關係 9.5 使用Snapper固定測試 9.6 使用Scientist .NET進行實驗 9.7 小結 9.8 問題 9.9 延伸閱讀 第10章:防禦性程式設計技巧 10.1 技術需求 10.2 介紹雲霄API 10.3 驗證輸入內容 10.4 防止null值 10.5 超越類別 10.6 進階型別使用 10.7 小結 10.8 問題 10.9 延伸閱讀 Part 3:利用AI和程式碼分析進階重構 第11章:AI輔助重構:使用GitHub Copilot 11.1 技術需求 11.2 介紹GitHub Copilot 11.3 在Visual Studio中開始使用GitHub Copilot 11.4 使用GitHub Copilot Chat進行重構 11.5 使用GitHub Copilot Chat撰寫文件 11.6 使用GitHub Copilot Chat產生Test Stub 11.7 理解GitHub Copilot的限制 11.8 案例研究:雲霄航空公司 11.9 小結 11.10 問題 11.11 延伸閱讀 第12章:Visual Studio中的程式碼分析 12.1 技術需求 12.2 在Visual Studio中計算程式碼度量 12.3 在Visual Studio中進行程式碼分析 12.4 探索進階的程式碼分析工具 12.5 案例研究:雲霄航空公司 12.6 小結 12.7 問題 12.8 延伸閱讀 第13章:建立一個Roslyn分析器 13.1 技術需求 13.2 理解Roslyn分析器 13.3 建立一個Roslyn分析器 13.4 使用RoslynTestKit測試Roslyn分析器 13.5 將分析器分享為Visual Studio擴充功能 13.6 小結 13.7 問題 13.8 延伸閱讀 第14章:使用Roslyn分析器重構程式碼 14.1 技術需求 14.2 案例研究:雲霄航空公司 14.3 建立一個Roslyn分析器程式碼修正 14.4 使用RoslynTestKit測試程式碼修正 14.5 將Roslyn分析器發佈為NuGet套件 14.6 小結 14.7 問題 14.8 延伸閱讀 Part 4:企業中的重構 第15章:溝通技術債 15.1 克服重構的障礙 15.2 溝通技術債 15.3 優先處理技術債 15.4 獲得組織的認同 15.5 案例研究:雲霄航空公司 15.6 小結 15.7 問題 15.8 延伸閱讀 第16章:採用程式碼標準 16.1 技術需求 16.2 理解程式碼標準 16.3 建立程式碼標準 16.4 在Visual Studio中進行格式化和程式碼清除 16.5 使用EditorConfig套用程式碼標準 16.6 小結 16.7 問題 16.8 延伸閱讀 第17章:敏捷重構 17.1 在敏捷環境中的重構 17.2 成功應用敏捷重構策略 17.3 完成大規模重構 17.4 重構出錯時的復原方式 17.5 部署大規模重構 17.6 案例研究:雲霄航空公司 17.7 小結 17.8 打造更永續的軟體 17.9 問題 17.10 延伸閱讀

原價: 850 售價: 765 現省: 85元
立即查看
Martin Fowler的企業級軟體架構模式:軟體重構教父傳授51個模式,活用設計思考與架構決策 (2版)

Martin Fowler的企業級軟體架構模式:軟體重構教父傳授51個模式,活用設計思考與架構決策 (2版)

類似書籍推薦給您

原價: 800 售價: 680 現省: 120元
立即查看
重構:改善既有程式的設計 (2版)

重構:改善既有程式的設計 (2版)

類似書籍推薦給您

內容簡介   “任何一個傻瓜都能寫出電腦可以理解的程式,唯有優秀的程式設計師能寫出讓人讀懂的程式。”   —M. Fowler (1999)   完全修訂及更新:包含新的重構方法和範例程式   二十多年來,世界各地經驗豐富的程式員都使用Martin Fowler的《重構》來改善既有程式的設計、提升軟體的易維護性,以及讓既有的程式更容易被人瞭解。   為了反映程式設計領域的重大變化,作者全面翻新書籍內容,推出這本備受期待的新版本。《重構 第二版》提供了新的重構名錄,加入JavaScript範例程式以及新的實用範例來展示各種重構。   這個版本與第一版一樣,將解釋什麼是重構、為何重構、如何認出需要重構的程式,以及如何成功地重構,無論你是使用哪一種語言。   ‧瞭解重構的程序與一般原則   ‧快速運用實用的重構技術,讓程式更容易理解與修改   ‧辨認暗示有待重構的程式碼“異味”   ‧探討重構,每一個案例都包括說明、動機、作法與簡單的範例   ‧為重構建立可靠的測試程式   ‧認識重構的取捨與障礙   本書原文網站提供免費的web標準版本,包含更多重構資源,書中內容將說明如何取得。 目錄 Chapter 1 重構:第一個範例 Chapter 2 重構的原理 Chapter 3 程式碼異味 Chapter 4 建構測試程式 Chapter 5 名錄簡介 Chapter 6 第一組重構 Chapter 7 封裝 Chapter 8 移動功能 Chapter 9 移動功能 Chapter 10 簡化條件邏輯 Chapter 11 重構 API Chapter 12 處理繼承

原價: 800 售價: 680 現省: 120元
立即查看
重構: 改善既有的程式設計2/E <碁峰>

重構: 改善既有的程式設計2/E <碁峰>

類似書籍推薦給您

原價: 800 售價: 680 現省: 120元
立即查看
提升程式設計的資料結構力 第三版|國際程式設計競賽之資料結構原理、題型、解題技巧與重點解析 (3版)

提升程式設計的資料結構力 第三版|國際程式設計競賽之資料結構原理、題型、解題技巧與重點解析 (3版)

類似書籍推薦給您

提升程式設計的資料結構力 第三版|國際程式設計競賽之資料結構原理、題型、解題技巧與重點解析 系列名:程式設計 ISBN13:9786263243743 出版社:碁峰資訊 作者:吳永輝;王建德 裝訂/頁數:平裝/728頁 規格:26cm*19cm*3.4cm (高/寬/厚) 出版日:2023/03/09 內容簡介 ACM-ICPC訓練聯盟推薦教材 適用於ACM、IOI等各類程式設計競賽訓練 本書以作者長期教學和競賽訓練中總結的資料結構和進階資料結構知識體系,以及行之有效的程式編寫能力訓練方法,以各類程式設計競賽的試題為素材編寫而成。本書包含四個部分:基本程式編寫能力的磨練、線性串列的程式編寫實作、樹的程式編寫實作和圖的程式編寫實作。本書不僅可以作為ACM-ICPC、IOI等各類程式設計競賽的訓練教程,也可以作為程式設計、資料結構課程的教學與實作教材。 ‧以資料結構、進階資料結構的知識系統為大綱,以程式設計競賽試題的解題實作作為核心單元,透過啟發式、案例化的教學,引導讀者透過程式編寫培養解決問題的能力。 ‧第三版從解題策略的角度進行了脫胎換骨的改進,並新增了進階資料結構部分的實作。 ‧精選306道程式設計競賽試題,其中160道試題作為實作範例試題,每道試題不僅有詳盡的試題解析,還提供標有詳細註解的參考程式;另外的146道試題為題庫試題,所有試題都有清晰的提示。 目錄 Part 01 訓練基本的程式設計能力 Chapter 01 簡單計算的程式設計實作 Chapter 02 簡單模擬的程式設計實作 Chapter 03 遞迴與回溯的程式設計實作 Part 02 線性串列的程式編寫實作 Chapter 04 應用直接存取類的線性串列程式設計 Chapter 05 編寫循序存取類型的線性串列程式 Chapter 06 編寫廣義索引類型的線性串列程式 Chapter 07 實作線性串列排序的程式 Part 03 樹的程式編寫實作 Chapter 08 樹狀結構的非線性串列程式設計 Chapter 09 應用二元樹的基本概念編寫程式 Chapter 10 應用經典二元樹編寫程式 Part 04 圖的程式編寫實作 Chapter 11 圖的尋訪演算法程式編寫應用 Chapter 12 應用最小生成樹演算法編寫程式 Chapter 13 應用最佳路徑演算法編寫程式 Chapter 14 二分圖、流量網路演算法的程式編寫 Chapter 15 應用狀態空間搜尋編寫程式

原價: 780 售價: 663 現省: 117元
立即查看