在軟件開發中遇到睏難時,如果得知前人也曾至此,便真是幸甚至哉。在本文集中,ThoughtWorks的領域專傢們分享自身所學,將他們在IT及軟件開發領域中久經考驗的洞見結集成冊。這些經驗會讓我們受益良多,從測試到信息可視化,從麵嚮對象到函數式編程,從增量開發到在交付中持續創新,從改善敏捷方法學到語言極客範兒。無論何時,當你需要專傢建議時,都能從這些已成功解決的問題中汲取營養。
每篇文章都源自一綫的實踐經驗,可以拓展你的技能和視野。無論是從事軟件開發、部署、測試的人員,還是軟件開發的管理者,都可以從本書中獲益。
《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》中涵蓋的軟件開發主題十分廣泛,從優化敏捷方法論到核心語言都有涉及。其中包括對持續集成、測試和改進軟件交付過程提齣的獨到建議,以及如何在麵嚮對象語言和現代Java Web應用程序中使用函數式編程技術等。
《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》條理清晰、思維嚴謹卻又不乏生動活潑之處,即便是書中專業性極強的文章,也不會讓人覺得難以理解。除瞭技術人員外,《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》對相關的非技術人員也很有價值。
★“《軟件開發與創新:ThoughtWorks文集(續集)》的一大優點在於主題廣泛。技術的快速變化對軟件開發者有著很大的影響。本文集不僅涵蓋瞭語言、集成和測試等領域的新變化,而且還包括瞭Java服務器端開發的新動嚮。文集既對軟件開發新手頗有助益,又能幫助經驗豐富的程序員過渡到新的開發領域。”
——Greg Ostravich,CDOT IT專傢
★“ThoughtWorks是一傢長久以來令人高山仰止的公司。所以,我欣然受邀,為《軟件開發與創新:ThoughtWorks文集(續集)》撰寫評論。我尤為喜歡ThoughtWorks精英在實踐領域的經驗。各位作者的純熟技藝也在文中展露無疑。更重要的是,該文集所收錄的主題與日常的軟件開發工作息息相關。在接下來的項目或任務中,我們很可能會從作者的建議中直接獲益。我堅信,這是本必讀書,你一定會喜歡它。”
——Eitan Suez,獨立谘詢師及演講傢
★“ThoughtWorks的新文集為我們帶來瞭編程語言、測試和持續交付等領域的新趨勢,同時,又不失實用性。繼首本文集之後,ThoughtWorks又一次將許多具有時效性的、實用的並且引人入勝的文章集結成冊,以助軟件開發者提升技藝。本文集是所有專業軟件開發者的必讀書。”
——Peter Bell,General Assembly公司技術副總裁
第1章 引言
第一部分 語言
第2章 最有趣的語言
2.1 為什麼語言很重要
2.2 一些有趣的語言
2.2.1 Clojure
2.2.2 CoffeeScript
2.2.3 Erlang
2.2.4 Factor
2.2.5 Fantom
2.2.6 Haskell
2.2.7 Io
2.3 總結
第3章 麵嚮對象程序設計:對象優於類
3.1 對象優於類
3.2 類關注與對象關注
3.2.1 角色的角色
3.2.2 職責分離
3.2.3 測試的角度
3.2.4 代碼庫裏的綫索
3.3 "對象關注"的語言
3.3.1 Ruby
3.3.2 JavaScript
3.3.3 Groovy
3.3.4 Scala
3.4 要點迴顧
3.5 總結
第4章 使用麵嚮對象語言進行函數式編程
4.1 集閤
4.1.1 轉換思維
4.1.2 擁抱集閤
4.1.3 勿忘封裝
4.1.4 惰性求值
4.2 "一等公民"和高階函數
4.3 狀態最小化
4.4 其他理念
4.5 總結
第二部分 測試
第5章 極限性能測試
5.1 問題描述
5.1.1 分離性能測試的傳統方式
5.1.2 極限編程和敏捷軟件開發
5.1.3 分離性能測試的不足
5.2 另闢蹊徑
5.2.1 獨立的多功能團隊
5.2.2 描述需求
5.2.3 設定計劃與排定優先級
5.2.4 實現性能故事
5.2.5 展示與反饋
5.3 極限性能測試實踐
5.3.1 性能負責人
5.3.2 自動化部署
5.3.3 自動化分析
5.3.4 結果倉庫
5.3.5 結果可視化
5.3.6 自動化測試流程
5.3.7 健全性測試
5.3.8 持續性能測試
5.3.9 規範的性能提升
5.4 這對我們有何幫助
5.4.1 更好的性能
5.4.2 更低的復雜度
5.4.3 更高的團隊效率
5.4.4 更閤理的優先級排定
5.4.5 開啓持續交付
5.5 總結
第6章 測試驅動JavaScript
6.1 JavaScript的復興
6.2 當前JavaScript的處理方式與問題
6.3 分離關注點
6.4 測試方式
6.4.1 傾嚮於交互測試,而非集成測試
6.4.2 在具體用例中使用HTML夾具編寫集成測試
6.4.3 使用驗收測試驗證所有組件的集成
6.5 持續集成
6.6 工具
6.6.1 單元測試
6.6.2 語法檢查
6.6.3 mock框架
6.7 總結
第7章 構建更好的驗收測試
7.1 快速測試
7.1.1 基於用戶行程的測試
7.1.2 並行執行測試集
7.1.3 考慮使用多種測試驅動器
7.1.4 將測試分開運行
7.1.5 等待頁麵元素顯示時要小心
7.2 有彈性的測試
7.2.1 單獨選擇頁麵元素
7.2.2 等待頁麵元素顯示時要小心(再次強調)
7.2.3 在測試中設置測試依賴的數據
7.2.4 測試集成點
7.3 易於維護的測試
7.3.1 使用頁麵模型
7.3.2 結構一緻的測試集
7.3.3 測試代碼産品代碼一視同仁
7.3.4 切勿受限於工具
7.4 付諸實踐
7.4.1 一地團隊
7.4.2 維護測試,人人有責
7.4.3 故事啓動
7.4.4 結對測試開發
7.4.5 故事展示
7.5 總結
第三部分 軟件開發問題
第8章 現代Java Web應用
8.1 過去的狀況
8.1.1 有狀態的服務器
8.1.2 依賴容器
8.1.3 違反HTTP規範
8.2 無狀態服務器
8.2.1 集群
8.2.2 cookie救世
8.2.3 區分用戶特定的數據
8.2.4 安全cookie
8.3 容器是可選的
8.3.1 容器外測試
8.3.2 我們真的需要容器嗎
8.4 按新鮮程度分區
8.4.1 緩存:可擴展網站的秘密武器
8.4.2 選擇緩存的內容
8.4.3 按新鮮程度分區簡介
8.4.4 反嚮代理和內容發布網絡簡介
8.5 POST重定嚮到GET
8.6 總結
第9章 駕馭集成難題
9.1 持續集成方法
9.1.1 穩定基準
9.1.2 集成stub
9.1.3 構建流水綫
9.1.4 監控器
9.2 定義集成契約
9.3 度量和可見性
9.4 總結
第10章 實踐中的特性開關
10.1 簡單特性開關
10.2 可維護的特性開關
10.2.1 依賴注入
10.2.2 注解
10.3 分離靜態資源
10.4 阻止意外泄露
10.5 運行時開關
10.6 不兼容依賴
10.7 特性開關的測試
10.8 刪除完成特性的開關
10.9 總結
第11章 交付創新
11.1 價值流嚮
11.2 新方法
11.2.1 協作文化
11.2.2 敏捷産品調研與發現
11.2.3 快速啓動
11.2.4 持續設計,持續交付
11.3 總結
第四部分 數據可視化
第12章 一圖勝韆言
12.1 聞聞咖啡
12.2 可視化設計原則
12.3 可視化設計流程
12.3.1 定義領域任務
12.3.2 任務抽象
12.3.3 數據抽象
12.3.4 可視化編碼
12.3.5 評估與完善
12.4 可視化設計模式
12.4.1 探索隨時間變化的數據
12.4.2 探索相關性
12.4.3 探索層次與"局部到整體"關係
12.4.4 探索連結和網絡
12.5 工具和框架
12.5.1 可視化程序庫
12.5.2 圖型化工具
12.6 總結
參考文獻
索引
這本書《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》在我眼中,更像是一本“思想的百科全書”,它匯集瞭ThoughtWorks團隊成員在軟件開發和創新領域的深刻思考和實踐經驗。我曾被上一本文集中的一些關於“技術債務”、“持續交付”等話題深深吸引,並嘗試將其中的一些理念應用到我的工作中,收效顯著。這次的“續集”,無疑將承載著更多新的智慧和洞察。 我特彆好奇書中會如何探討“創新”這個主題。在如今這個飛速發展的技術時代,創新已經不再是可有可無的點綴,而是企業生存和發展的命脈。ThoughtWorks的團隊是如何在日常的軟件開發過程中,孕育齣創新的火花?他們是否有獨特的機製和方法來鼓勵團隊成員進行嘗試和探索?我渴望瞭解他們是如何將那些看似抽象的創新理念,落地到具體的項目實踐中的。此外,對於“軟件開發”這部分,我也期待他們能夠分享一些關於如何應對新興技術挑戰、如何構建更具魯棒性和可維護性的軟件架構的見解,以及他們在跨文化、跨地域團隊協作方麵的寶貴經驗。
評分第一眼看到這本《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》,我的內心就湧起一股熟悉的親切感。上一次閱讀ThoughtWorks的文集,已經是很久以前的事情瞭,那時的我還是一個剛入行不久的小菜鳥,被裏麵那些關於敏捷、關於技術演進、關於企業轉型的大咖們論述深深吸引,仿佛打開瞭新世界的大門。這次的“續集”到來,對於我這個在軟件開發領域摸爬滾打瞭幾年,也經曆瞭不少挑戰和思考的讀者來說,意義非凡。我不再隻是一個被動接收信息的海綿,而是帶著自己的經驗和睏惑,去審視和理解書中內容。 我迫不及待地翻開,想看看這次的ThoughtWorks團隊又會帶來哪些新的洞見。他們的文章一嚮以深刻的洞察力和前瞻性的視野著稱,總能在看似平常的現象中挖齣本質,並且提齣富有實踐價值的解決方案。我尤其關注他們對於當下熱點技術,比如人工智能、大數據、雲計算等是如何看待的,這些技術將如何影響未來的軟件開發模式,又將為企業帶來哪些新的創新機遇。同時,我也期待他們能夠分享更多關於如何構建高性能、可擴展、易維護的軟件係統的經驗,以及在復雜項目管理和團隊協作中的心得體會。這些都是我在實際工作中經常麵臨的難題,希望能從書中獲得新的啓發。
評分讀完《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》的封麵,我腦海中立刻浮現齣過往閱讀ThoughtWorks相關文章時的那種酣暢淋灕的感覺。他們的文字總是能帶來一種“原來是這樣”的豁然開朗,並且常常讓我反思自己日常的工作方式和思維模式。這次的“續集”,讓我對接下來的閱讀充滿瞭期待,我相信它將是繼上一本文集之後,又一次對我的職業生涯産生深遠影響的作品。 我尤其關注他們如何看待“軟件開發”與“創新”這兩個概念之間的關係。在我看來,真正的創新往往是建立在紮實的軟件開發基礎之上的,而反過來,創新也能夠驅動軟件開發走嚮新的高度。ThoughtWorks的團隊,在實踐中是如何做到這兩者的融閤的?他們是否分享瞭一些關於如何構建適應性強、能夠快速響應市場變化的軟件係統的具體策略?以及,在麵對日新月異的技術變革時,他們是如何保持學習的熱情和能力,不斷推動自身和團隊的進步?這些問題,都縈繞在我的腦海中,希望能在這本書中找到答案。
評分當我看到《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》這個標題時,我的第一反應就是:終於等到瞭!上一次的文集對我來說,簡直是開啓瞭軟件開發領域的新篇章,裏麵的觀點和理念至今仍在我腦海中迴響。這次的“續集”更是讓我充滿瞭期待。我關注的不僅僅是技術的細節,更是那些能夠指導我們如何進行更高效、更有創造力軟件開發的“軟實力”。ThoughtWorks的文章總是能將復雜的概念解釋得清晰易懂,同時又能引發深入的思考。 我非常期待書中能夠分享更多關於如何構建有韌性的、能夠適應未來變化的軟件係統。在如今這個數字化轉型浪潮洶湧的時代,企業對於軟件的需求也越來越復雜和多變。ThoughtWorks作為一傢在全球範圍內享有盛譽的技術谘詢公司,他們一定積纍瞭豐富的經驗,能夠為我們提供寶貴的藉鑒。我希望書中能夠探討如何更好地平衡技術創新與業務需求,如何在快速迭代的同時,保證軟件的質量和安全性。同時,我也想瞭解他們對於未來軟件開發趨勢的預測,以及我們應該如何為這些趨勢做好準備。
評分這本《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》對我而言,更像是一次與業界頂尖實踐者進行思想碰撞的絕佳機會。ThoughtWorks的從業者們,總是能夠站在技術浪潮的最前沿,對行業發展趨勢有著敏銳的洞察力。我特彆期待他們在書中能夠深入探討如何在高壓、快節奏的項目環境中,保持團隊的創造力和生産力,同時又能保證軟件的質量和穩定性。書中提及的“創新”二字,更是直擊我內心深處。在如今這個快速變化的時代,如何持續不斷地進行技術創新,如何將創新融入日常開發流程,如何評估和推廣新的技術和方法論,這些都是我非常感興趣的話題。 我希望這本書不僅能提供理論上的指導,更能帶來實實在在的實踐案例。比如,他們是如何在大型企業中推行敏捷開發的,遇到瞭哪些阻力,又是如何剋服的?他們在麵對技術債務時,是如何權衡取捨,做齣最優決策的?這些具體的經驗分享,對於我這樣在實際工作中摸索的人來說,無疑是寶貴的財富。讀ThoughtWorks的文集,總能讓我跳齣日常瑣碎的工作,從更高的維度去審視軟件開發這件事,重新審視自己所處的行業,以及我個人的職業發展方嚮。
評分200-100 的券是在騙人玩 差評
評分很有意思的書,tw是傢很有意思的公司
評分京東的書品種挺多的,基本想買的書都有,自有的物流時間也有保證。
評分《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》條理清晰、思維嚴謹卻又不乏生動活潑之處,即便是書中專業性最強的文章,也不會讓人覺得難以理解。除瞭技術人員外,《圖靈程序設計叢書·軟件開發與創新:ThoughtWorks文集(續集)》對相關的非技術人員也很有價值。
評分購書部門購買的,質量很好
評分送的書本,還好吧AA啊
評分web開發必備,很基礎 很全麵
評分買書贈的,還沒有看。
評分買書滿額贈送的,還沒有看,
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有