预购商品
书目分类
特别推荐
傳統上,C#與Windows桌面應用程式和遊戲的開發息息相關,如今C#被用於各種領域(如Web和雲端App),在行動裝置開發中亦越來越流行。雖然C#具有廣泛的程式功能,不良程式碼仍會讓專業人員面臨效率、可擴充性和可維護性等問題。本書將協助你識別這些問題,並編寫最佳實踐來解決它們。 本書首先比較好程式碼和壞程式碼,並描述程式碼撰寫標準、原理和方法的重要性。然後,你將掌握程式碼審查及其在改善程式碼中的作用,同時確保你遵守業界所認可的程式碼撰寫標準。本書將探索單元測試、深入研究TDD,並處理橫切關注點。你將了解C#程式設計中有關物件、資料結構、例外處理及其他方面的良好程式設計實作。在學習API設計並研究用於提升程式碼品質的工具之後,我們將一起看看壞程式碼的範例,並說明應該避免哪些程式碼撰寫方式。 讀完這本書,你將擁有所需的開發技能、應用業界認可的程式碼撰寫技巧,並編寫整潔、可讀、可擴展和可維護的C#程式碼! 在這本書中,你將學到: ・編寫與其它系統乾淨整合的程式碼,保持明確定義的軟體邊界 ・使用C#控制台應用程式範例,實作「失敗-通過-重構」方法 ・借助軟體設計模式來處理橫切關注點 ・編寫有意義的自訂C#例外 ・識別需要重構的劣質C#程式碼 ・使用API金鑰保護API,並使用Azure Key Vault保護資料 ・使用分析和重構工具來提升程式碼效能 讀者可以到博碩文化官網輸入書號或書名,下載「練習題參考解答」。
前言 Chapter 1 C#中的程式碼撰寫標準和原則 技術要求 好程式碼與壞程式碼 對程式碼撰寫標準、原則、方法的需求 小結 練習題 延伸閱讀 Chapter 2 程式碼審查:過程和重要性 程式碼審查過程 準備程式碼以供審查 主導程式碼審查 知道要審查什麼 知道何時發送程式碼以供審查 提供及回應審查回饋 小結 練習題 延伸閱讀 Chapter 3 類別、物件和資料結構 技術要求 組織類別 一個類別應該僅具單一職責 註解以生成文件 內聚和耦合 為變更做設計 Demeter定律 不可變的物件和資料結構 物件應該隱藏資料並公開方法 資料結構應該公開資料而且沒有方法 小結 練習題 延伸閱讀 Chapter 4 編寫整潔的函數 了解函數式程式設計 保持方法的輕巧 避免重複 避免多個參數 小結 練習題 延伸閱讀 Chapter 5 例外處理 已檢查和未檢查的例外 避免NullPointerException 業務規則例外 例外應提供有意義的資訊 建立你的自訂例外 小結 練習題 延伸閱讀 Chapter 6 單元測試 技術要求 了解進行良好測試的原因 了解測試工具 TDD方法論實務:失敗、通過和重構 刪除冗餘測試、註解和無效程式碼 小結 練習題 延伸閱讀 Chapter 7 端點到端點系統測試 E2E測試 工廠 依賴注入 模組化 小結 練習題 延伸閱讀 Chapter 8 執行緒與同步 了解執行緒生命週期 新增執行緒參數 使用執行緒池 使用mutex及同步執行緒 使用semaphore處理平行執行緒 限制執行緒池中的處理器和執行緒數量 預防死結 預防競爭條件 了解靜態建構函式和方法 可變性、不可變和執行緒安全性 同步方法的依賴性 使用Interlocked類別 一般性建議 小結 練習題 延伸閱讀 Chapter 9 設計及開發API 技術要求 API是什麼? API proxy API設計準則 使用RAML進行API設計 小結 練習題 延伸閱讀 Chapter 10 使用API金鑰和Azure Key Vault保護API 技術要求 動手做API專案:股息日曆 存取Morningstar API 在Azure中建立股息日曆ASP.NET Core Web應用程式 使用API 金鑰保護我們的股息日曆API 測試我們API金鑰的安全性 新增股息日曆程式碼 限制我們的API 小結 練習題 延伸閱讀 Chapter 11 處理橫切關注點 技術要求 裝飾器模式 代理模式 使用PostSharp的AOP 專案:橫切關注點的可重用函式庫 小結 練習題 延伸閱讀 Chapter 12 使用工具以提升程式碼品質 技術要求 定義高品質的程式碼 執行程式碼清理及計算程式碼指標 執行程式碼分析 使用快速操作 使用JetBrains dotTrace分析器 使用JetBrains ReSharper 使用Telerik JustDecompile 小結 練習題 延伸閱讀 Chapter 13 重構C#程式碼:識別程式碼臭味 技術要求 應用程式等級的程式碼臭味 類別等級的程式碼臭味 方法等級的臭味 小結 練習題 延伸閱讀 Chapter 14 重構C#程式碼:實作設計模式 技術要求 實作建立式設計模式 實作結構式設計模式 行為式設計模式的概觀 最後想法 小結 練習題 延伸閱讀
作者簡介 Jason Alls 在使用Microsoft技術寫程式這方面有超過21年的經驗。他的職業生涯始於一家澳大利亞公司,從開發「客服中心管理報告軟體」開始,這個軟體被全球客戶使用,包括電信業者、銀行、航空公司和警察單位。然後,他繼續開發「GIS市場應用程式」,並在銀行產業從事Oracle與SQL Server之間的資料移轉工作。自2005年起,他獲得了MCAD in C#的微軟專業認證,並參與了各種桌面、Web和行動裝置的應用程式開發。 Jason目前任職的企業被公認為是教育軟體領域的全球領導者,他開發並且支援以ASP.NET、Angular和C#所編寫的「閱讀障礙測驗和評估軟體」。
客服公告
热门活动
订阅电子报