《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》
本文關(guān)鍵詞:軟件開發(fā)與創(chuàng)新:ThoughtWorks文集,由筆耕文化傳播整理發(fā)布。
《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》
《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》
基本信息
原書名:The thoughtWorks anthology, volume 2:More essays on software technology and innovation
作者: 美國ThoughtWorks公司
譯者: ThoughtWorks中國公司
叢書名: 圖靈程序設(shè)計叢書
出版社:人民郵電出版社
ISBN:9787115342942
上架時間:2014-2-14
出版日期:2014 年1月
開本:16開
頁碼:1
版次:1-1
所屬分類:計算機
更多關(guān)于》》》 《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》
編輯推薦
在軟件開發(fā)中遇到困難時,如果得知前人也曾至此,便真是幸甚至哉。在本文集中,ThoughtWorks的領(lǐng)域?qū)<覀兎窒碜陨硭鶎W(xué),將他們在IT及軟件開發(fā)領(lǐng)域中久經(jīng)考驗的最佳洞見結(jié)集成冊。這些經(jīng)驗會讓我們受益良多,從測試到信息可視化,從面向?qū)ο蟮胶瘮?shù)式編程,從增量開發(fā)到在交付中持續(xù)創(chuàng)新,從改善敏捷方法學(xué)到頂尖的語言極客范兒。無論何時,當你需要專家建議時,都能從這些已成功解決的問題中汲取營養(yǎng)。
每篇文章都源自一線的實踐經(jīng)驗,可以拓展你的技能和視野。無論是從事軟件開發(fā)、部署、測試的人員,還是軟件開發(fā)的管理者,都可以從本書中獲益。
內(nèi)容簡介
書籍
計算機書籍
《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》中涵蓋的軟件開發(fā)主題十分廣泛,從優(yōu)化敏捷方法論到核心語言都有涉及。其中包括對持續(xù)集成、測試和改進軟件交付過程提出的獨到建議,以及如何在面向?qū)ο笳Z言和現(xiàn)代java web 應(yīng)用程序中使用函數(shù)式編程技術(shù)等。
《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》條理清晰、思維嚴謹卻又不乏生動活潑之處,即便是書中專業(yè)性最強的文章,也不會讓人覺得難以理解。除了技術(shù)人員外,本書對相關(guān)的非技術(shù)人員也很有價值。
媒體評論
“《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集(續(xù)集)》的一大優(yōu)點在于主題廣泛。技術(shù)的快速變化對軟件開發(fā)者有著很大的影響。本文集不僅涵蓋了語言、集成和測試等領(lǐng)域的最新變化,而且還包括了Java服務(wù)器端開發(fā)的最新動向。文集既對軟件開發(fā)新手頗有助益,又能幫助經(jīng)驗豐富的程序員過渡到新的開發(fā)領(lǐng)域。”
——Greg Ostravich,CDOT IT專家
“ThoughtWorks是一家長久以來令人高山仰止的公司。所以,我欣然受邀,為《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集(續(xù)集)》撰寫評論。我尤為喜歡ThoughtWorks精英在實踐領(lǐng)域的經(jīng)驗。各位作者的純熟技藝也在文中展露無疑。更重要的是,該文集所收錄的主題與日常的軟件開發(fā)工作息息相關(guān)。在接下來的項目或任務(wù)中,我們很可能會從作者的建議中直接獲益。我堅信,這是本必讀書,你一定會喜歡它。”
——Eitan Suez,獨立咨詢師及演講家
“ThoughtWorks的最新文集為我們帶來了編程語言、測試和持續(xù)交付等領(lǐng)域的最新趨勢,同時,又不失實用性。繼第一本文集之后,ThoughtWorks又一次將許多具有時效性的、實用的并且引人入勝的文章集結(jié)成冊,以助軟件開發(fā)者提升技藝。本文集是所有專業(yè)軟件開發(fā)者的必讀書。”
——Peter Bell,,General Assembly公司技術(shù)副總裁
目錄
《軟件開發(fā)與創(chuàng)新:ThoughtWorks文集:續(xù)集》
第1章 引言 1
第一部分 語言
第2章 最有趣的語言 4
2.1 為什么語言很重要 5
2.2 一些有趣的語言 5
2.2.1 clojure 5
2.2.2 coffeescript 10
2.2.3 erlang 14
2.2.4 factor 18
2.2.5 fantom 21
2.2.6 haskell 26
2.2.7 io 30
2.3 總結(jié) 33
第3章 面向?qū)ο蟪绦蛟O(shè)計:對象優(yōu)于類 34
3.1 對象優(yōu)于類 35
3.2 類關(guān)注與對象關(guān)注 36
3.2.1 角色的角色 36
3.2.2 職責分離 42
3.2.3 測試的角度 45
3.2.4 代碼庫里的線索 46
3.3 “對象關(guān)注”的語言 47
3.3.1 ruby 47
3.3.2 javascript 53
3.3.3 groovy 56
3.3.4 scala 58
3.4 要點回顧 58
3.5 總結(jié) 59
第4章 使用面向?qū)ο笳Z言進行函數(shù)式編程 60
4.1 集合 60
4.1.1 轉(zhuǎn)換思維 60
4.1.2 擁抱集合 63
4.1.3 勿忘封裝 64
4.1.4 惰性求值 65
4.2 “一等公民”和高階函數(shù) 67
4.3 狀態(tài)最小化 69
4.4 其他理念 70
4.5 總結(jié) 73
第二部分 測試
第5章 極限性能測試 76
5.1 問題描述 76
5.1.1 分離性能測試的傳統(tǒng)方式 76
5.1.2 極限編程和敏捷軟件開發(fā) 77
5.1.3 分離性能測試的不足 78
5.2 另辟蹊徑 78
5.2.1 獨立的多功能團隊 79
5.2.2 描述需求 80
5.2.3 設(shè)定計劃與排定優(yōu)先級 81
5.2.4 實現(xiàn)性能故事 82
5.2.5 展示與反饋 83
5.3 極限性能測試實踐 83
5.3.1 性能負責人 83
5.3.2 自動化部署 84
5.3.3 自動化分析 85
5.3.4 結(jié)果倉庫 85
5.3.5 結(jié)果可視化 86
5.3.6 自動化測試流程 86
5.3.7 健全性測試 87
5.3.8 持續(xù)性能測試 88
5.3.9 規(guī)范的性能提升 88
5.4 這對我們有何幫助 89
5.4.1 更好的性能 89
5.4.2 更低的復(fù)雜度 89
5.4.3 更高的團隊效率 90
5.4.4 更合理的優(yōu)先級排定 90
5.4.5 開啟持續(xù)交付 90
5.5 總結(jié) 90
第6章 測試驅(qū)動javascript 91
6.1 javascript的復(fù)興 91
6.2 當前javascript的處理方式與問題 92
6.3 分離關(guān)注點 92
6.4 測試方式 100
6.4.1 傾向于交互測試,而非集成測試 100
6.4.2 在具體用例中使用html夾具編寫集成測試 100
6.4.3 使用驗收測試驗證所有組件的集成 101
6.5 持續(xù)集成 101
6.6 工具 101
6.6.1 單元測試 102
6.6.2 語法檢查 102
6.6.3 mock框架 102
6.7 總結(jié) 102
第7章 構(gòu)建更好的驗收測試 103
7.1 快速測試 103
7.1.1 基于用戶行程的測試 103
7.1.2 并行執(zhí)行測試集 104
7.1.3 考慮使用多種測試驅(qū)動器 105
7.1.4 將測試分開運行 107
7.1.5 等待頁面元素顯示時要小心 107
7.2 有彈性的測試 107
7.2.1 單獨選擇頁面元素 108
7.2.2 等待頁面元素顯示時要小心(再次強調(diào)) 109
7.2.3 在測試中設(shè)置測試依賴的數(shù)據(jù) 110
7.2.4 測試集成點 110
7.3 易于維護的測試 111
7.3.1 使用頁面模型 111
7.3.2 結(jié)構(gòu)一致的測試集 112
7.3.3 測試代碼產(chǎn)品代碼一視同仁 113
7.3.4 切勿受限于工具 113
7.4 付諸實踐 114
7.4.1 一地團隊 114
7.4.2 維護測試,人人有責 115
7.4.3 故事啟動 115
7.4.4 結(jié)對測試開發(fā) 115
7.4.5 故事展示 116
7.5 總結(jié) 116
第三部分 軟件開發(fā)問題
第8章 現(xiàn)代java web應(yīng)用 118
8.1 過去的狀況 118
8.1.1 有狀態(tài)的服務(wù)器 119
8.1.2 依賴容器 119
8.1.3 違反http規(guī)范 120
8.2 無狀態(tài)服務(wù)器 120
8.2.1 集群 120
8.2.2 cookie救世 121
8.2.3 區(qū)分用戶特定的數(shù)據(jù) 121
8.2.4 安全cookie 122
8.3 容器是可選的 123
8.3.1 容器外測試 123
8.3.2 我們真的需要容器嗎 125
8.4 按新鮮程度分區(qū) 125
8.4.1 緩存:可擴展網(wǎng)站的秘密武器 125
8.4.2 選擇緩存的內(nèi)容 126
8.4.3 按新鮮程度分區(qū)簡介 126
8.4.4 反向代理和內(nèi)容發(fā)布網(wǎng)絡(luò)簡介 128
8.5 post重定向到get 129
8.6 總結(jié) 130
第9章 駕馭集成難題 131
9.1 持續(xù)集成方法 132
9.1.1 穩(wěn)定基準 132
9.1.2 集成stub 133
9.1.3 構(gòu)建流水線 134
9.1.4 監(jiān)控器 134
9.2 定義集成契約 135
9.3 度量和可見性 135
9.4 總結(jié) 136
第10章 實踐中的特性開關(guān) 137
10.1 簡單特性開關(guān) 138
10.2 可維護的特性開關(guān) 138
10.2.1 依賴注入 139
10.2.2 注解 140
10.3 分離靜態(tài)資源 141
10.4 阻止意外泄露 142
10.5 運行時開關(guān) 142
10.6 不兼容依賴 143
10.7 特性開關(guān)的測試 143
10.8 刪除完成特性的開關(guān) 144
10.9 總結(jié) 144
第11章 交付創(chuàng)新 145
11.1 價值流向 146
11.2 新方法 147
11.2.1 協(xié)作文化 147
11.2.2 敏捷產(chǎn)品調(diào)研與發(fā)現(xiàn) 149
11.2.3 快速啟動 153
11.2.4 持續(xù)設(shè)計,持續(xù)交付 155
11.3 總結(jié) 156
第四部分 數(shù)據(jù)可視化
第12章 一圖勝千言 158
12.1 聞聞咖啡 158
12.2 可視化設(shè)計原則 159
12.3 可視化設(shè)計流程 160
12.3.1 定義領(lǐng)域任務(wù) 160
12.3.2 任務(wù)抽象 161
12.3.3 數(shù)據(jù)抽象 161
12.3.4 可視化編碼 163
12.3.5 評估與完善 167
12.4 可視化設(shè)計模式 168
12.4.1 探索隨時間變化的數(shù)據(jù) 168
12.4.2 探索相關(guān)性 170
12.4.3 探索層次與“局部到整體”關(guān)系 170
12.4.4 探索連結(jié)和網(wǎng)絡(luò) 172
12.5 工具和框架 173
12.5.1 可視化程序庫 173
12.5.2 圖型化工具 174
12.6 總結(jié) 174
參考文獻 176
索引 178
本圖書信息來源: 互動出版網(wǎng)
posted on
本文關(guān)鍵詞:軟件開發(fā)與創(chuàng)新:ThoughtWorks文集,由筆耕文化傳播整理發(fā)布。
本文編號:58671
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/58671.html