当前位置:首页 > 工业技术
代码之美
代码之美

代码之美PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:ANDYORAMGREGWILSON著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111251330
  • 页数:599 页
图书介绍:
《代码之美》目录
标签:代码

推荐序 6

译者序 21

序 1

前言 3

第1章 正则表达式匹配器 9

编程实践 10

实现 11

讨论 12

其他的方法 14

构建 15

结论 17

第2章 Subversion中的增量编辑器:灵活的接口 19

版本控制与目录树的转换 20

表达目录树的差异 24

增量编辑器接口 25

但这是艺术吗 30

像体育比赛一样抽象 32

结论 35

第3章 我从未编写过的最漂亮的代码 37

我编写过的最漂亮的代码 38

事半功倍 39

观点 45

本章的中心思想是什么 47

结论 48

致谢 49

第4章 查找 51

耗时 51

问题:数据 52

问题:时间人物,以及对象 61

大规模尺度的搜索 67

结论 69

第5章 正确、优美、迅速(按重要性排序):从设计XML验证器中学到的经验 71

XML验证器的作用 71

问题所在 72

版本1:简单的实现 74

版本2:模拟BNF语法——复杂度O(N) 75

版本3:第一个复杂度O(log N)的优化 77

版本4:第二次优化:避免重复验证 78

版本5:第三次优化:复杂度O(1) 80

版本6:第四次优化:缓存 84

从故事中学到的 86

第6章 集成测试框架:脆弱之美 87

三个类搞定一个验收测试框架 88

框架设计的挑战 90

开放式框架 92

一个HTML解析器可以简单到什么程度 93

结论 96

第7章 漂亮的测试 99

讨厌的二分查找 101

JUnit简介 103

将二分查找进行到底 105

结论 118

第8章 图像处理中的即时代码生成 121

第9章 自顶向下的运算符优先级 145

JavaScript 146

符号表 147

语素 148

优先级 150

表达式 150

中置运算符 151

前置运算符 153

赋值运算符 154

常数 154

Scope 155

语句 157

函数 160

数组和对象字面量 161

要做和要思考的事 162

第10章 寻求快速的种群计数 163

基本方法 164

分治法 165

其他方法 167

两个字种群计数的和与差 169

两个字的种群计数比较 169

数组中的1位种群计数 170

应用 175

第11章 安全通信:自由的技术 179

项目启动之前 180

剖析安全通信的复杂性 181

可用性是关键要素 183

基础 186

测试集 190

功能原型 191

清理,插入,继续…… 191

在喜马拉雅山的开发工作 195

看不到的改动 201

速度确实重要 203

人权中的通信隐私 203

程序员与文明 204

第12章 在BioPerl里培育漂亮代码 207

BioPerl和Bio∷Graphics模块 207

Bio∷Graphics的设计流程 211

扩展Bio∷Graphics 230

结论和教训 234

第13章 基因排序器的设计 237

基因排序器的用户界面 238

通过Web跟用户保持对话 239

多态的威力 241

滤除无关的基因 244

大规模美丽代码理论 245

结论 248

第14章 优雅代码随硬件发展的演化 251

计算机体系结构对矩阵算法的影响 252

一种基于分解的方法 253

一个简单版本 255

LINPACK库中的DGEFA子程序 257

LAPACK DGETRF 259

递归L U 262

ScaLAPACK PDGETRF 265

针对多核系统的多线程设计 269

误差分析与操作计数浅析 272

未来的研究方向 273

进一步阅读 273

第15章 漂亮的设计会给你带来长远的益处 275

对于漂亮代码的个人看法 275

对于CERN库的介绍 276

外在美 277

内在美 283

结论 289

第16章 Linux内核驱动模型:协作的好处 291

简单的开始 292

进一步简化 297

扩展到上千台设备 300

小对象的松散结合 301

第17章 额外的间接层 303

从直接代码操作到通过函数指针操作 304

从函数参数到参数指针 305

从文件系统到文件系统层 310

从代码到DSL (Domain-Specific Language) 312

复用与分离 314

分层是永恒之道吗 315

第18章 Python的字典类:如何打造全能战士 317

字典类的内部实现 319

特殊调校 321

冲突处理 322

调整大小 323

迭代和动态变化 325

结论 325

致谢 326

第19章 NumPy中的多维迭代器 327

N维数组操作中的关键挑战 328

N维数组的内存模型 329

NumPy迭代器的起源 331

迭代器的设计 331

迭代器的接口 337

迭代器的使用 339

结论 342

第20章 NASA火星漫步者任务中的高可靠企业系统 345

任务与CIP 346

任务需求 347

系统架构 348

案例分析:流服务 351

可靠性 355

稳定性 362

结论 364

第21章 ERP5:最大可适性的设计 367

ERP的总体目标 368

ERP5 368

Zope基础平台 370

ERP5 Project中的概念 374

编码实现ERP5 Project 375

结论 379

第22章 一匙污水 381

第23章 MapReduce分布式编程 397

激动人心的示例 397

MapReduce编程模型 400

其他MapReduce示例 401

分布式MapReduce的一种实现 403

模型扩展 406

结论 407

进一步阅读 407

致谢 408

附录:单词计数解决方案 408

第24章 美丽的并发 411

一个简单的例子:银行账户 412

软件事务内存 415

圣诞老人问题 424

对Haskell的一些思考 434

结论 435

致谢 436

第25章 句法抽象:syntax-case展开器 437

syntax-case简介 442

展开算法 444

例子 456

结论 458

第26章 节省劳动的架构:一个面向对象的网络化软件框架 459

示例程序:日志服务 461

日志服务器框架的面向对象设计 464

实现串行化日志服务器 470

实现并行日志服务器 475

结论 481

第27章 以REST方式集成业务伙伴 483

项目背景 484

把服务开放给外部客户 484

使用工厂模式转发服务 487

用电子商务协议来交换数据 489

结论 494

第28章 漂亮的调试 495

对调试器进行调试 496

系统化的过程 498

关于查找的问题 499

自动找出故障起因 500

增量调试 502

最小化输入 505

查找缺陷 505

原型问题 508

结论 509

致谢 509

进一步阅读 509

第29章 代码如散文 511

第30章 当你与世界的联系只有一个按钮时 517

基本的设计模型 518

输入界面 521

用户界面的效率 535

下载 535

未来的发展方向 535

第31章 Emacspeak:全功能音频桌面 537

产生语音输出 538

支持语音的Emacs 539

对于在线信息的简单访问 551

小结 558

致谢 561

第32章 变动的代码 563

像书本一样 565

功能相似的代码在外观上也保持相似 566

缩进带来的危险 567

浏览代码 568

我们使用的工具 569

DiffMerge的曲折历史 571

结论 573

致谢 573

进一步阅读 573

第33章 为“The Book”编写程序 575

没有捷径 576

给Lisp初学者的提示 576

三点共线 577

不可靠的斜率 580

三角不等性 581

河道弯曲模型 583

“Duh !”——我的意思是“Aha!” 584

结论 586

进一步阅读 586

后记 589

作者简介 591

相关图书
作者其它书籍
返回顶部