0920~0926_夏季暢銷第三波BN

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

Clean Code in C#
  • 9 621
    690
  • 分類:
    中文書電腦資訊APP開發/程式設計C/C#
    追蹤
    ? 追蹤分類後,您會在第一時間收到分類新品通知。
  • 作者: Jason Alls 追蹤 ? 追蹤作者後,您會在第一時間收到作者新書通知。
  • 譯者:江玠峰
  • 出版社: 博碩文化 追蹤 ? 追蹤出版社後,您會在第一時間收到出版社新書通知。
  • 出版日:2021/07/07

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

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

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789864347896
    • 分級
    • 普通級
    • 頁數
    • 480
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 網友掛保證,絕不踩雷書單如下 ↓↓↓
預計 2025/09/20 出貨 參考庫存量:1 
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing