關于代碼之美這本書的評價,有人說它不是一本教科書(Text Book),或者說,拿這個來當教科書會是很失敗的選擇,因為一般人,一般的programmer,基本是“術業有專攻”,而這本書講的內容涉及面廣而且深;有人說這本書不錯,但——要正確看待,說它是散文集,是用來陶冶情操的。不是任何技術的指導手冊。本節內容小編為大家整理帶來的這份代碼之美電子書為epub格式免費完整版,歡迎有需要的朋友前來下載查閱!
代碼之美(中文版)簡介
該書介紹了人類在一個奮斗領域中的創造性和靈活性:計算機系統的開發領域。在每章中的漂亮代碼都是來自獨特解決方案的發現,而這種發現是來源于作者超越既定邊界的遠見卓識,并且識別出被多數人忽視的需求以及找出令人嘆為觀止的問題解決方案。
書籍共有33章,有38位作者,每位作者貢獻一章。每位作者都將自己心目中對于“美麗的代碼”的認識濃縮在一章當中,張力十足。38位大牛,每個人對代碼之美都有自己獨特的認識,現在一覽無余的放在一起,對于熱愛程序的每個人都不啻一場盛宴。雖然本書的涉獵范圍很廣,但也只能代表一小部分在這個軟件開發這個最令人興奮領域所發生的事情。
代碼之美(中文版)目錄
序
前言
第1章 正則表達式匹配器
編程實踐
實現
討論
其他的方法
構建
小結
第2章 Subversion中的增量編輯器:
靈活的接口
版本控制與目錄樹的轉換
表達目錄樹的差異
增量編輯器接口
但這是藝術嗎
像體育比賽一樣抽象
結論
第3章 我編寫過的最漂亮的代碼
我編寫過的最漂亮代碼
事倍功半
觀點
本章的中心思想是什么?
結論
致謝
第4章 查找
耗時
問題:數據
問題:時間,人物,以及對象
大規模尺度的搜索
結論
第5章 正確、優美、迅速(按重要性排序):
從設計XML驗證器中學到的經驗
XML驗證器的作用
問題所在
版本1:簡單的實現
版本2:模擬BNF語法 —— 復雜度O(N)
版本3:第一個復雜度O(log N)的優化
版本4:第二次優化:避免重復驗證
版本5:第三次優化:復雜度 O(1)
版本 6:第四次優化:緩存
從故事中學到的
第6章 集成測試框架:脆弱之美
三個類搞定一個驗收測試框架
框架設計的挑戰
開放式框架
一個HTML解析器可以簡單到什么程度?
結論
第7章 漂亮的測試
討厭的二分查找
JUnit簡介
將二分查找進行到底
結論
第8章 圖像處理中的即時代碼生成
第9章 自頂向下的運算符優先級
JavaScript
符號表
語素
優先級
表達式
中置運算符
前置運作符
賦值運算符
常數
Scope
語句
函數
數組和對象字面量
要做和要思考的事
第10章 尋求快速的種群計數
基本方法
分治法
其他方法
兩個字種群計數的和與差
兩個字的種群計數比較
數組中的1位種群計數
應用
第11章 安全通信:自由的技術
項目啟動之前
剖析安全通信的復雜性
可用性是關鍵要素
基礎
測試集
功能原型
清理,插入,繼續……
在喜馬拉雅山的開發工作
看不到的改動
速度確實重要
人權中的通信隱私
程序員與文明
第12章 在BioPerl里培育漂亮代碼
BioPerl和Bio::Graphics模塊
Bio::Graphics的設計流程
擴展Bio::Graphics
結束語和教訓
第13章 基因排序器的設計
基因排序器的用戶界面
通過Web跟用戶保持對話
多態的威力
濾除無關的基因
大規模美麗代碼理論
結論
第14章 優雅代碼隨硬件發展的演化
計算機體系結構對矩陣算法的影響
一種基于分解的方法
一個簡單版本
LINPACK庫中的DGEFA子程序
LAPACK DGETRF
遞歸LU
ScaLAPACK PDGETRF
針對多核系統的多線程設計
誤差分析與操作計數淺析
未來的研究方向
進一步閱讀
第15章 漂亮的設計會給你帶來長遠的益處
對于漂亮代碼的個人看法
對于CERN庫的介紹
外在美(Outer Beauty)
內在美(Inner Beauty)
結論
第16章 Linux內核驅動模型:協作的好處
簡單的開始
進一步簡化
擴展到上千臺設備
小對象的松散結合
第17章 額外的間接層
從直接代碼操作到通過函數指針操作
從函數參數到參數指針
從文件系統到文件系統層
從代碼到DSL(Domain-Specific Language)
復用與分離
分層是永恒之道嗎
第18章 Python的字典類:如何打造全能戰士
字典類的內部實現
特殊調校
沖突處理
調整大小
迭代和動態變化
結論
致謝
第19章 NumPy中的多維迭代器
N維數組操作中的關鍵挑戰
N維數組的內存模型
NumPy迭代器的起源
迭代器的設計
迭代器的接口
迭代器的使用
結束語
第20章 NASA火星漫步者任務中的高可靠企業系統
任務與CIP
任務需求
系統架構
案例分析:流服務
可靠性
穩定性
結束語
第21章 ERP5:最大可適性的設計
ERP的總體目標
ERP5
Zope基礎平臺
ERP5 Project中的概念
編碼實現ERP5 Project
結束語
第22章 一匙污水
第23章 MapReduce分布式編程
激動人心的示例
MapReduce編程模型
其他MapReduce示例
分布式MapReduce的一種實現
模型擴展
結論
進階閱讀
致謝
附錄:單詞計數解決方案
第24章 美麗的并發
一個簡單的例子:銀行賬戶
軟件事務內存
圣誕老人問題
對Haskell的一些思考
結論
致謝
第25章 句法抽象:syntax-case 展開器
Syntax-case簡介
展開算法
結論
第26章 節省勞動的架構:一個面向對象的
網絡化軟件框架
示例程序:日志服務
日志服務器框架的面向對象設計
實現串行化日志服務器
實現并行日志服務器
結論
第27章 以REST方式集成業務伙伴
項目背景
把服務開放給外部客戶
使用工廠模式轉發服務
用電子商務協議來交換數據
結束語
第28章 漂亮的調試
對調試器進行調試
系統化的過程
關于查找的問題
自動找出故障起因
增量調試
最小化輸入
查找缺陷
原型問題
結束語
致謝
進一步閱讀
第29章 代碼如散文
第30章 當你與世界的聯系只有一個按鈕時
基本的設計模型
輸入界面
用戶界面的效率
下載
未來的發展方向
第31章 Emacspeak:全功能音頻桌面
產生語音輸出
對于在線信息的簡單訪問
小結
結束語
致謝
第32章 變動的代碼
像書本一樣
功能相似的代碼在外觀上也保持相似
縮進帶來的危險
瀏覽代碼
我們使用的工具
DiffMerge的曲折歷史
結束語
致謝
進一步閱讀
第33章 為《The Book》編寫程序
沒有捷徑
給Lisp初學者的提示
三點共線
不可靠的斜率
三角不等性
河道彎曲模型
“Duh!”——我的意思是“Aha!”
結束語
進一步閱讀
后記
代碼之美(中文版)內容截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版