注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計其他編程語言/工具程序員的制勝技

程序員的制勝技

程序員的制勝技

定 價:¥79.80

作 者: [土耳其] 塞達特·卡帕諾格魯(Sedat Kapanoglu)
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115611567 出版時間: 2023-09-01 包裝: 平裝
開本: 128開 頁數(shù): 228 字數(shù):  

內容簡介

  本書專注于介紹項目開發(fā)領域的實戰(zhàn)方法和高效范式,共 9 章,從預備理論知識開始,按照業(yè)務開發(fā)的真實流程詳細闡述了以往開發(fā)的經驗誤區(qū),并結合實際的.NET 和 C#代碼,給出經過大量項目檢驗的解決方案。本書絕不是市面上隨處可見的技術手冊。作者用他獨有的幽默感和數(shù)十年的軟件開發(fā)經驗,將軟件開發(fā)的實戰(zhàn)故事一一道來。正如作者所言,無論你是非科班出身的開發(fā)者,還是已經入行幾年的開發(fā)“上道人”,本書都能對你有所裨益。

作者簡介

  塞達特 ? 卡帕諾格魯(Sedat Kapano?lu),一名自學成才的軟件開發(fā)工程師,來自土耳其的埃斯基謝希爾。他曾入職美國華盛頓州西雅圖的微軟公司,擔任 Windows 核心操作系統(tǒng)工程師。他的專業(yè)軟件開發(fā)生涯長達 30 年。塞達特創(chuàng)建了土耳其倍受歡迎的社交平臺——酸字典(Ek?i S?zlük)。在 20 世紀 90年代,他活躍于土耳其的國際數(shù)字藝術社區(qū) demoscence,其主題是利用代碼生成圖形和音樂。

圖書目錄

第 1 章 初入行當 1
1.1 在實戰(zhàn)中,什么最重要? 2
1.2 誰是實戰(zhàn)程序員? 3
1.3 杰出實戰(zhàn)程序員 4
1.3.1 懂得質疑 4
1.3.2 結果驅動 5
1.3.3 高產出 6
1.3.4 接受復雜性和模糊性 6
1.4 現(xiàn)代軟件開發(fā)存在的問題 6
1.4.1 技術繁多 8
1.4.2 遍閱范式 8
1.4.3 科技黑箱 9
1.4.4 低估開銷 10
1.4.5 自掃門前雪 10
1.4.6 憎惡重復 11
1.5 特別說明 11
1.6 本書主題 11
本章總結 12
第 2 章 實用的理論 13
2.1 算法速成 14
2.1.1 要有好的 Big-O 16
2.2 深入數(shù)據(jù)結構 17
2.2.1 字符串 18
2.2.2 數(shù)組 21
2.2.3 列表 22
2.2.4 鏈表 23
2.2.5 隊列 24
2.2.6 字典 24
2.2.7 哈希集合 26
2.2.8 棧 26
2.2.9 調用棧 27
2.3 類型有大用 28
2.3.1 使用強類型 28
2.3.2 有效性證明 29
2.3.3 巧用框架 34
2.3.4 用類型防止打錯字 37
2.3.5 null 的可與不可 38
2.3.6 免費的更好性能 44
2.3.7 引用類型與值類型 45
本章總結 48
第 3 章 有用的反模式 50
3.1 若無損壞,亦可破壞 51
3.1.1 面對代碼剛性 51
3.1.2 快刀斬亂麻 52
3.1.3 敬畏邊界 53
3.1.4 隔離相同功能 54
3.1.5 網頁示例 56
3.1.6 不要留下技術債 57
3.2 從頭開始寫 57
推倒重寫 58
3.3 修復它,即使它沒有壞掉 59
3.3.1 奔向未來 59
3.3.2 整潔僅次于功能 60
3.4 重復你自己 62
復用還是直接復制? 66
3.5 是我所創(chuàng) 67
3.6 不要使用繼承 70
3.7 不要使用類 72
3.7.1 enum 太好用了! 72
3.7.2 結構體真棒! 74
3.8 寫點糟糕代碼 79
3.8.1 不要使用 If/Else 79
3.8.2 使用 goto 81
3.9 不寫代碼注釋 84
3.9.1 選個好名字 85
3.9.2 充分利用函數(shù) 86
本章總結 88
第 4 章 美味的測試 89
4.1 測試的類型 90
4.1.1 手動測試 90
4.1.2 自動化測試 91
4.1.3 執(zhí)意玩火:在生產環(huán)境中測試 91
4.1.4 選擇正確的測試方法 92
4.2 如何停止抱怨,愛上測試? 94
4.3 不要使用 TDD 或其他縮寫 100
4.4 為你自己的目的寫測試 101
4.5 決定測試對象 102
4.5.1 尊重邊界 103
4.5.2 代碼覆蓋率 105
4.6 不要寫測試 107
4.6.1 不要寫代碼 107
4.6.2 不要一次寫完所有的測試 107
4.7 讓編譯器測試你的代碼 108
4.7.1 消除 null 檢查 108
4.7.2 消除范圍檢查 111
4.7.3 消除有效值檢查 113
4.8 命名測試 115
本章總結 116
第 5 章 正名重構 117
5.1 為什么我們要重構? 118
5.2 架構修改 118
5.2.1 識別組件 121
5.2.2 評估工作量和風險 122
5.2.3 樹立威信 122
5.2.4 重構讓重構更容易 124
5.2.5 最后沖刺 130
5.3 可靠重構 130
5.4 什么時候不重構 132
本章總結 133
第 6 章 安全審查 134
6.1 黑客之外 135
6.2 威脅模型 136
袖珍威脅模型 137
6.3 編寫安全的網絡應用程序 140
6.3.1 在設計時考慮到安全問題 140
6.3.2 隱蔽性安全的用處 141
6.3.3 不要光靠你自己去實現(xiàn)安全 142
6.3.4 SQL 注入攻擊 142
6.3.5 跨站腳本攻擊 148
6.3.6 跨站請求偽造 152
6.4 引發(fā)第 一次“洪水” 153
6.4.1 不要使用驗證碼 153
6.4.2 驗證碼的代替品 154
6.4.3 不要使用緩存 155
6.5 存儲機密信息 155
保存源代碼中的機密信息 156
本章總結 161
第 7 章 死磕優(yōu)化 163
7.1 解決該解決的問題 164
7.1.1 簡單的基準測試 164
7.1.2 性能與響應性 167
7.2 遲緩的剖析 168
7.3 從頭開始 169
7.3.1 嵌套循環(huán) 170
7.3.2 面向字符串的編程 172
7.3.3 評估 173
7.4 打破瓶頸 174
7.4.1 不要打包數(shù)據(jù) 174
7.4.2 就地取材 175
7.4.3 將依賴性工作分開 176
7.4.4 要有可預測性 177
7.4.5 SIMD 179
7.5 I/O 的 1 秒與 0 秒 181
7.5.1 讓 I/O 更快 181
7.5.2 避免 I/O 阻塞 183
7.5.3 古老的方式 184
7.5.4 現(xiàn)代式 async/await 185
7.5.5 異步 I/O 的弊端 186
7.6 如果所有方法都失敗了,試試緩存吧 187
本章總結 187
第 8 章 可口擴展 188
8.1 不要使用鎖 189
雙重檢查的鎖 195
8.2 擁抱不一致 198
可怕的 NOLOCK 198
8.3 不要緩存數(shù)據(jù)庫連接 200
以 ORM 的形式 203
8.4 不要使用線程 203
8.4.1 異步代碼的問題 207
8.4.2 異步多線程 208
8.5 尊重單體 208
本章總結 209
第 9 章 與 bug 共存 210
9.1 不要修復 bug 211
9.2 錯誤恐懼 212
9.2.1 有關異常的真相 213
9.2.2 不要捕捉異常 215
9.2.3 容異性 217
9.2.4 沒有事務的容異性 221
9.2.5 異常與錯誤 221
9.3 不要調試 223
9.3.1 printf()調試法 224
9.3.2 初識轉儲 225
9.3.3 高階小黃鴨調試法 228
本章總結 228

本目錄推薦

掃描二維碼
Copyright ? 讀書網 hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號