村上春樹
Clean Code學派的風格實踐:重構遺留Codebase,突破C#效能瓶頸

Clean Code學派的風格實踐:重構遺留Codebase,突破C#效能瓶頸

Clean Code in C#

  • 定價:690
  • 優惠價:9621
  • 本商品單次購買10本85折587
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 台北、新北、基隆宅配快速到貨(除外地區)
載入中...
  • 分享
 

內容簡介

  傳統上,C#與Windows桌面應用程式和遊戲的開發息息相關,如今C#被用於各種領域(如Web和雲端App),在行動裝置開發中亦越來越流行。雖然C#具有廣泛的程式功能,不良程式碼仍會讓專業人員面臨效率、可擴充性和可維護性等問題。本書將協助你識別這些問題,並編寫最佳實踐來解決它們。

  本書首先比較好程式碼和壞程式碼,並描述程式碼撰寫標準、原理和方法的重要性。然後,你將掌握程式碼審查及其在改善程式碼中的作用,同時確保你遵守業界所認可的程式碼撰寫標準。本書將探索單元測試、深入研究TDD,並處理橫切關注點。你將了解C#程式設計中有關物件、資料結構、例外處理及其他方面的良好程式設計實作。在學習API設計並研究用於提升程式碼品質的工具之後,我們將一起看看壞程式碼的範例,並說明應該避免哪些程式碼撰寫方式。

  讀完這本書,你將擁有所需的開發技能、應用業界認可的程式碼撰寫技巧,並編寫整潔、可讀、可擴展和可維護的C#程式碼!

  在這本書中,你將學到:
  ・編寫與其它系統乾淨整合的程式碼,保持明確定義的軟體邊界
  ・使用C#控制台應用程式範例,實作「失敗-通過-重構」方法
  ・借助軟體設計模式來處理橫切關注點
  ・編寫有意義的自訂C#例外
  ・識別需要重構的劣質C#程式碼
  ・使用API金鑰保護API,並使用Azure Key Vault保護資料
  ・使用分析和重構工具來提升程式碼效能

  讀者可以到博碩文化官網輸入書號或書名,下載「練習題參考解答」。
 
 

作者介紹

作者簡介

Jason Alls


  在使用Microsoft技術寫程式這方面有超過21年的經驗。他的職業生涯始於一家澳大利亞公司,從開發「客服中心管理報告軟體」開始,這個軟體被全球客戶使用,包括電信業者、銀行、航空公司和警察單位。然後,他繼續開發「GIS市場應用程式」,並在銀行產業從事Oracle與SQL Server之間的資料移轉工作。自2005年起,他獲得了MCAD in C#的微軟專業認證,並參與了各種桌面、Web和行動裝置的應用程式開發。

  Jason目前任職的企業被公認為是教育軟體領域的全球領導者,他開發並且支援以ASP.NET、Angular和C#所編寫的「閱讀障礙測驗和評估軟體」。
 
 

目錄

前言

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#程式碼:實作設計模式
技術要求
實作建立式設計模式
實作結構式設計模式
行為式設計模式的概觀
最後想法
小結
練習題
延伸閱讀
 

詳細資料

  • ISBN:9789864347896
  • 規格:平裝 / 480頁 / 17 x 23 x 2.47 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣

最近瀏覽商品

 

相關活動

  • 【自然科普、電腦資訊】童話裡的心理學【博客來電子書獨家-作者電子贈言簽名扉頁版】
 

購物說明

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則 

  • 漫遊者聯展
  • 商業思考筆記術展
  • 方言全書系