fb%e4%bb%a3%e8%a1%a8%e5%9c%96

現代的C++測試驅動開發程式設計

如果你用C ++開發程式,你應該忽略了一件事。測試驅動開發(TDD)是現代軟體開發實踐,可以顯著降低系統缺陷的數量,產生更多可維護的程式碼,並給你的信心,改變你的軟體以滿足不斷變化的需求。但是到現在為止C ++程式設計師已經被那些推動TDD的人所忽視。在這本書中,Jeff Langr給你動手做的課程做為挑戰而且是值得用TDD做為C++程式開發。

  • 在書中提出的範例是在C ++ 11 GCC 4.7.2構建的。
  • Google Mock 1.6 (大多數範例例使用Google Mock,而且並不會很難把它們轉換到你所選用的工具)。
  • 提供了每個專案的CMakeLists.txt文件。 提供的範例是使用cmake版本2.8.9建構的。
  • 書中的範例使用了各種可自由使用的第三方程式庫庫作為基礎。 包含有: – cURL (one example) – JsonCpp (one example) – Boost (檔案系統, date_time/gregorian, algorithm, assign) (several examples)
  • 參加團購

關於這本書

現代的C++測試驅動開發程式設計,唯一使用TDD全面處理C++開發,為你提供需要知道關於TDD的任何知識和面臨的挑戰,並在你的C++系統中實現以得到它的好處。書中許多詳細的程式碼範例帶你一步一步從基礎TDD到先進的觀念。作為C++程式開發老手 你已經寫高質量的代碼你努力保持代碼的質量;其實並不需要這麼辛苦。

在這本書中,你將會學到:

  • 如何使用TDD來改善老舊的C++系統。
  • 如何識別和處理令人苦惱的系統相依性。
  • 怎麼處理相依性注入,這是在C++特別棘手。
  • 如何以TDD為輔助開發的C++使用測試工具。
  • C++ 11有助於TDD的功能。

當你精通TDD而成長,隨著時間的推移,你會發現如何讓大規模使用C++開發的系統免於設計的一團糟,以及避免特定的C++麻煩點。你會發現如何避免你的測試程式成為維護負擔,並且如何以TDD方式思考而且不用放棄你得來不易的C ++技巧。最後,您將看到如何成長並在你的團隊持續使用TDD。

無論你是一個完全的單元測試新手還是經驗豐富的測試人員,這本書將帶領你精通C++測試驅動的開發。


與現代C ++測試驅動開發程式設計的作者 Jeff Langr Q & A

為什麼你要寫現代的C ++測試驅動開發程式設計這本書?

我最近一直與一些C++開發團隊一起工作,他們對於使用TDD可讓他們的程式碼獲得控制很感興趣並且鞭策讓它有更好的樣貌。我在想 ,如果任何語言需要一種方法來持續不斷安全地去適應、漸進地變化,它就是C++。使用TDD來開發C++這方面的資源相當匱乏,所以我想我會看到我能做些什麼來幫助。

取這樣的書名你會不會感到有點大膽?

感謝你注意到了。確實 TDD是不是做事情的唯一途徑 ,但我相信這是我們在2013年最好的技術來幫助你成功編程,不論你的語言是C ++或是別的程式設計語言 ,"現代C ++“對我而言大概是以一種可以讓你安全地去做的機制讓你去駕馭程式設計語言的巨大力量(包括一些很不錯新的C ++ 11的特性),並且幫助你在前進的道路上製作一個偉大的設計。

如果我已經知道了TDD,從這本書我可以得到什麼東西?

我希望現代的C ++測試驅動開發程式設計這本書是最新的,提供全方面的TDD資訊來源。它涵蓋了幾乎所有你可能期望的並且增加了一些先進的最新主題,如天皇方法(Mikado Method)和轉型優先前提(Transformation Priority Premise TPP)。我整個結合了我的經驗, 所以你會得到一堆來之不易的智慧–基於有超過了十幾年的實踐TDD經驗。你還可以獲得一些想法來讓你的團隊成長並支持TDD。

這本書提到的TDD題材對於不太熟悉C++的程式設計師是可被理解的嗎?

雖然有大量的程式碼在書中,如果你有接觸過任何一個基於C的物件導向程式設計語言(例如 Java, C#, or Objective-C) ,書中的範例對你應該是沒有問題的。其中一個在TDD的目標是組織你的程式碼而成為較有表達能力的程式碼,我竭力確保在書中的程式碼滿足了這一目標。我專注於TDD概念和技術,這些也同樣適用於其他程式設計語言。

如果我使用不同的單元測試工具?

練習使用混合了Google Test/Google Mock和CppUTest。但是,一旦你見過數個單元測試工具,你就已經看過全部了。 這是很容易將寫在一個工具的測試轉換到另外一個(例如 CppUnit, CxxTest, 或 Boost.Test)。在這本書中,你會發現一個附錄,讓你的一些準則,以幫助你選擇適合您的團隊合適的單元測試工具。

看對於本書的評價

試讀章節

請到原出版社網頁下載

關於作者

Jeff Langr 和 Tim Ottinger合寫了一本書 Agile in a Flash。他還寫過別的書和關於軟體開發的文章一百多篇,並從事軟體開發顧問與教育訓練,包括測試驅動開發。

電子書團購價

    • 此團購為電子書,格式有PDF/ePUB/Mobi等格式。
    • Pragmatic Bookshelf原價USD 26 (Amazon Kindle版本標價 USD 34.99 )
    • 團購人數達10人, 折價8% : USD 23.92(將以團購成立當天匯率折合台幣)

想參加此書的團購嗎?  

  1. 請先加入 Soft & Share 團購 社團.
  2. 點參加團購,連結然後留言 “我要參加團購"

參加團購

覺得這本書不錯嗎?使用以下的社群分享按鈕分享給你的朋友吧?

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

你正使用 WordPress.com 帳號留言。 登出 / 變更 )

Twitter picture

你正使用 Twitter 帳號留言。 登出 / 變更 )

Facebook照片

你正使用 Facebook 帳號留言。 登出 / 變更 )

Google+ photo

你正使用 Google+ 帳號留言。 登出 / 變更 )

連結到 %s

分類