呦呦鹿鳴處 書卷彙成川

聯繫我們:
《代碼大全2(紀念版)》封面

代碼大全2(紀念版)

文件格式: EPUB · MOBI · PDF · TXT

獲取下載鏈接

出版年份: 2022
ISBN: 9787302583646
豆瓣評分: 9.3

標籤

《軟件開發》雜誌Jolt大獎 大而全,洞悉軟件構建精髓 優而先,兼顧行業實踐研究 奠定硬核技術領導力的經典 庸常變身卓越的實用性指導 《代碼大全2》是著名科技類作家史蒂夫·麥康奈爾的經典著作,是一本完整的軟件構建手冊,涵蓋了軟件構建過程中的所有細節。它從軟件質量和編程思想等方面論述了軟件構建的各個問題,並詳細論述了緊跟時代潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。本書所論述的技術不僅填補了初級與中高級編程技術之間的空白,而且也為程序員提供了一個有關編程技巧的信息來源。 本書的緣起與使命,響應計算機科學與技術委員會的報告,植根於“軟件工程參考手冊”這個基本的概念,同時兼顧軟件質量和研發效能,對已有的高效軟件工程實踐進行全面收集、萃取、分類和傳播(CSTB 1990, McConnell 1997a)。 這本書對經驗豐富的程序員、技術帶頭人、自學的程序員及幾乎不懂太多編程技巧的學生們都是大有裨益的。無論是什麼背景的讀者,閱讀本書都有助於在更短的時間內、更容易地寫出更好、更簡潔、更優雅的程序。

第Ⅰ部分奠定基礎
第1章 歡迎來到軟件構建的世界 003
第2章 通過隱喻更充分地理解軟件開發 009
第3章 謀定而後動:前期準備 023
第4章 關鍵的構建決策 057
第II部分高質量的代碼
第5章 軟件構建的設計 069
第6章 可以工作的類 121
第7章 高質量的子程序 157
第8章 防禦式編程 187
第9章 偽代碼編程過程 215
第Ⅲ部分變量
第10章 變量使用中的常規問題 239
第11章 變量名稱的威力 263
第12章 基本數據類型 295
第13章 不常見的數據類型 323
第Ⅳ部分語句
第14章 直線型代碼的組織 353
第15章 使用條件語句 361
第16章 控制循環 373
第17章 不常見的控制結構 395
第18章 表驅動法 417
第19章 常規控制問題 437
第Ⅴ部分代碼改進
第20章 軟件質量概述 469
第21章 協同構建 483
第22章 開發人員測試 503
第23章 調試 541
第24章 重構 569
第25章 代碼調優策略 591
第26章 代碼調優技術 613
第Ⅵ部分系統化考慮
第27章 程序規模對構建的影響 651
第28章 管理構建 663
第29章 集成 693
第30章 編程工具 715
第Ⅶ部分軟件匠藝
第31章 代碼的佈局和風格 733
第32章 自文檔代碼 781
第33章 個人性格 821
第34章 關於軟件匠藝 837
第35章 更多信息來源 853
詳細目錄
第Ⅰ部分奠定基礎
第1章 歡迎來到軟件構建的世界	003
1.1什麼是軟件構建	003
1.2軟件構建為何如此重要	006
1.3如何閱讀本書	008
第2章 通過隱喻更充分地
理解軟件開發	009
2.1隱喻的重要性	009
2.2如何使用軟件隱喻	012
2.3常見的軟件隱喻	013
第3章 謀定而後動:前期準備	023
3.1前期準備的重要性	024
3.2確定要開發什麼類型的軟件	030
3.3定義問題的先決條件	034
3.4需求的先決條件	036
3.5架構的先決條件	041
3.6前期準備所花費的時間	052
第4章 關鍵的構建決策	057
4.1編程語言的選擇	057
4.2編程約定	062
4.3判斷個人處於技術浪潮中的哪個階段	062
4.4選擇重要的構建實踐	065
第II部分高質量的代碼
第5章 軟件構建的設計	069
5.1設計挑戰	070
5.2關鍵設計概念	073
5.3設計構建基塊:啟發式方法	083
5.4設計實踐	107
5.5點評各種流行的方法論	115
第6章 可以工作的類	121
6.1類的基礎:抽象數據類型(ADT)	122
6.2良好的類接口	129
6.3設計和實現問題	139
6.4創建類的理由	149
6.5語言特定問題	153
6.6超越類:包	153
第7章 高質量的子程序	157
7.1創建子程序的正當理由	160
7.2子程序級別的設計	165
7.3好的子程序名稱	169
7.4一個子程序應該有多長	171
7.5如何使用子程序參數	173
7.6函數使用中的特別注意事項	180
7.7宏子程序和內聯子程序	182
第8章 防禦式編程	187
8.1保護程序,
使其免受無效輸入的影響	188
8.2斷言	189
8.3錯誤處理技術	194
8.4異常	198
8.5隔離程序,使之包容
由錯誤造成的損害	203
8.6調試輔助代碼	205
8.7確定在生產代碼中
保留多少防禦式代碼	209
8.8對防禦式編程採取防禦的姿態	211
第9章 偽代碼編程過程	215
9.1類和子程序構建步驟總結	215
9.2面向專家的偽代碼	218
9.3使用PPP構建子程序	220
9.4PPP的替代方案	233
第Ⅲ部分變量
第10章 變量使用中的常規問題	239
10.1數據掃盲	240
10.2簡化變量聲明	241
10.3變量初始化指南	242
10.4作用域	247
10.5持久性	254
10.6綁定時間	255
10.7數據類型和控制結構之間的關係	257
10.8每個變量只有一個用途	258
第11章 變量名稱的威力	263
11.1選擇好名稱的注意事項	263
11.2特定數據類型的命名	269
11.3命名規範的威力	275
11.4非正式的命名規範	276
11.5前綴的標準化	283
11.6創建可讀的短名稱	286
11.7變量名稱避坑指南	289
第12章 基本數據類型	295
12.1一般的數字	296
12.2整型	297
12.3浮點型	299
12.4字符和字符串	302
12.5布爾變量	305
12.6枚舉類型	307
12.7具名常量	312
12.8數組	314
12.9創建自定義類型(類型別名)	316
第13章 不常見的數據類型	323
13.1結構體	323
13.2指針	327
13.3全局數據	340
第Ⅳ部分語句
第14章 直線型代碼的組織	353
14.1順序攸關的語句	353
14.2順序無關的語句	356
第15章 使用條件語句	361
15.1if語句	361
15.2case語句	367
第16章 控制循環	373
16.1選擇循環類型	373
16.2控制循環	379
16.3輕鬆創建循環:由內而外 	391
16.4循環和數組的對應關係	393
第17章 不常見的控制結構	395
17.1子程序中的多個返回點	395
17.2遞歸	397
17.3goto語句	402
17.4眾說紛紜,談談不常見的控制結構	413
第18章 表驅動法	417
18.1表驅動法使用總則	417
18.2直接訪問表	419
18.3索引訪問表	431
18.4階梯訪問表	433
18.5表查詢的其他示例	436
第19章 常規控制問題	437
19.1布爾表達式	437
19.2複合語句(語句塊)	448
19.3空語句	449
19.4駕馭深層嵌套	451
19.5編程基礎:結構化編程	460
19.6控制結構與複雜度	462
第Ⅴ部分代碼改進
第20章 軟件質量概述	469
20.1軟件質量的特性	469
20.2改進軟件質量的技術	472
20.3質量保證技術的相對效能	475
20.4何時進行質量保證	479
20.5軟件質量的普遍原理	479
第21章 協同構建	483
21.1協同開發實踐概述	484
21.2結對編程	487
21.3正式審查	489
21.4其他類型的協同開發實踐	496
第22章 開發人員測試	503
22.1開發者測試
對軟件質量所起的作用	504
22.2開發人員測試的推薦方法	507
22.3一些測試技巧	509
22.4典型錯誤 	522
22.5測試支持工具	528
22.6改進測試	534
22.7維護測試記錄 	535
第23章 調試	541
23.1調試問題概述	541
23.2發現缺陷	546
23.3修復缺陷	557
23.4調試中的心理因素	560
23.5那些顯而易見和
不太明顯的調試工具	563
第24章 重構	569
24.1軟件演變的類型	570
24.2重構簡介	571
24.3特定的重構	577
24.4安全重構	585
24.5重構策略	587
第25章 代碼調優策略	591
25.1性能概述	592
25.2代碼調優簡介	595
25.3各式各樣的臃腫和蜜糖	601
25.4度量	607
25.5迭代	608
25.6代碼調優方法總結	609
第26章 代碼調優技術	613
26.1邏輯	614
26.2循環	619
26.3數據變換	628
26.4表達式	633
26.5子程序	642
26.6用低級語言重新編碼	643
26.7改得越多,越不會有大的改觀	646
第Ⅵ部分系統化考慮
第27章 程序規模對構建的影響	651
27.1溝通和規模	651
27.2項目規模的範圍	652
27.3項目規模對錯誤的影響	653
27.4項目規模對生產力的影響	655
27.5項目規模對開發活動的影響	656
第28章 管理構建	663
28.1鼓勵良好的編碼實踐	664
28.2配置管理	666
28.3評估構建進度表	673
28.4度量	679
28.5以人為本,善待每一位程序員	683
28.6向上管理	689
第29章 集成	693
29.1集成方法的重要性	693
29.2集成的頻率,階段式還是增量式	695
29.3增量式集成策略	698
29.4每日構建和冒煙測試	707
第30章 編程工具	715
30.1設計工具	716
30.2源代碼工具	716
30.3可執行碼工具	721
30.4面向工具的環境	726
30.5自己動手寫編程工具	726
30.6工具的幻境	728
第Ⅶ部分軟件匠藝
第31章 代碼的佈局和風格	733
31.1基本理論	734
31.2佈局技術	741
31.3佈局風格	743
31.4控制結構的佈局	750
31.5單條語句的佈局	757
31.6註釋的佈局	768
31.7子程序的佈局	771
31.8類的佈局	772
第32章 自文檔代碼	781
32.1外部文檔	781
32.2編程風格即文檔	782
32.3註釋,還是不註釋	785
32.4高效註釋的關鍵	788
32.5註釋的技術	795
32.6IEEE標準	815
第33章 個人性格	821
33.1個人性格與本書主題有關	822
33.2聰明與謙卑	823
33.3好奇心	824
33.4理性誠實	827
33.5溝通與合作	830
33.6創造力與規範	830
33.7懶惰	831
33.8沒有想象中那麼重要的性格因素	832
33.9習慣	833
第34章 關於軟件匠藝	837
34.1征服複雜性	837
34.2優選開發過程	839
34.3編寫程序時,先考慮人,
再考慮機器	840
34.4深入語言去編程,
而不是用語言來編程	842
34.5藉助於規範來保持專注	843
34.6面向問題域編程	844
34.7 當心落石	846
34.8迭代,迭代,迭代,
重要的事情說三遍	848
34.9警惕編程中的執念	849
試驗	851
第35章 更多信息來源	853
35.1與軟件構建相關的信息	853
35.2軟件構建之外的話題	854
35.3出版物	856
35.4軟件開發者的閱讀計劃	857
35.5加入專業組織	859
參考文獻	861

《真名實姓:弗諾·文奇的科幻世界與現代計算機網絡的發展》

這是一部影響橫跨一個時代的科幻經典,附帶九位重量級人物的深度解讀,講述硬科幻大師弗諾·文奇與互聯網界頂尖人物之間的跨界對話。1981年首次出版時便入圍雨果獎和星雲獎,成為科幻圈與科技界之間的橋樑,揭示了從互聯網的萌芽到《神經漫遊者》所引發的變革全貌。劉慈欣高度評價這部著作,認為它是對計算機技術所帶來...

查看詳情 →

《從零開始做運營》

運營是什麼?怎樣做運營?產品和運營是什麼關係?我是否適合從事互聯網運營?為什麼我做的運營活動收效甚微? 在互聯網大熱的今天,互聯網運營成為一個越來越重要的崗位,事關網站、產品的發展與存亡。很多年輕人帶著對互聯網的熱情投身到這個行業,卻發現自己對這個行業所知甚少,對互聯網運營更加陌生,甚至有一些有志於...

查看詳情 →

《天才與算法:人腦與AI的數學思維》

★這是兼具美英兩國科學院院士稱號的馬庫斯·杜·索托伊先生的傑出之作。 ★我們將進入一個由算法主導的時代,人工智能將在互聯網、繪畫、音樂與寫作等領域全面挑戰人類的創造力與想象力。 ★作者通過數學思維解讀算法,幫助人們理解創造力的本質,推動人類與機器共存的美好未來成為可能。

查看詳情 →

《哥德爾、艾舍爾、巴赫》

集異璧-GEB,是數學家哥德爾、版畫家艾舍爾、音樂家巴赫三個名字的前綴。《哥德爾、艾舍爾、巴赫書:集異璧之大成》是在英語世界中有極高評價的科普著作,曾獲得普利策非小說獎。它通過對哥德爾的數理邏輯,艾舍爾的版畫和巴赫的音樂三者的綜合闡述,引人入勝地介紹了數理邏輯 學、可計算理 論、人工智能學、語言學、...

查看詳情 →