代码之美

当前位置:首页 > 计算机/网络 > 程序设计 > 代码之美

  • 版 次:1
  • 页 数:
  • 字 数:
  • 印刷时间:2009年01月01日
  • 开 本:16开
  • 纸 张:胶版纸
  • 包 装:平装
  • 是否套装:否
  • 国际标准书号ISBN:9787111251330
作者:(美)奥莱姆(Oram,A),(美)维尔森(Wilson,G) 编;BC Group 译出版社:机械工业出版社出版时间:2009年01月 
编辑推荐

38位大师级的程序员,一步步讲解他们的项目架构,开发时的种种折中考虑(tradeoffs)以及何时必须打破常规,寻求突破。
  全球38位**高手、众多语言之父经典之作。
  本书收录的是软件设计领域中的一组大师级作品。每一章都是由一位或几位著名程序员针对某个问题给出的完美的解决方案,并且细述了这些解决方案的巧妙之处。
  本书既不是一本关于设计模式的书,也不是一本关于软件工程的书,它告诉你的不仅仅是一些正确的方式或者错误的方式。它让你站在那些优秀软件设计师的肩膀上,从他们的角度来看待问题。
  本书给出了38位大师级程序员在项目设计中的思路、在开发工作中的权衡,以及一些打破成规的决策。

《测试之美》点击进入

《安全之美》点击进入

《数据之美》点击进入

《数据可视化之美》点击进入

《架构之美》点击进入

《项目管理之美》点击进入

《团队之美》点击进入

 
内容简介

本书介绍了人类在一个奋斗领域中的创造性和灵活性:计算机系统的开发领域。在每章中的漂亮代码都是来自独特解决方案的发现,而这种发现是来源于作者超越既定边界的远见卓识,并且识别出被多数人忽视的需求以及找出令人叹为观止的问题解决方案。
  本书33章,有38位作者,每位作者贡献一章。每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。38位大牛,每个人对代码之美都有自己独特的认识,现在一览无余的放在一起,对于热爱程序的每个人都不啻一场盛宴。 虽然本书的涉猎范围很广,但也只能代表一小部分在这个软件开发这个最令人兴奋领域所发生的事情。

作者简介

全球38位*高手、众多语言之父经典之作

目  录
第1章 正则表达式匹配器
 1.1 编程实践
 1.2 实现
 1.3 讨论
 1.4 其他的方法
 1.5 构建
 1.6 小结
第2章 Subversion中的增量编辑器:像本体一样的接口
 2.1 版本控制与目录树的转换
 2.2 表达目录树的差异
 2.3 增量编辑器接口
 2.4 但这是不是艺术?
 2.5 像体育比赛一样的抽象
 2.6 结论
前  言

这是一本独特的书。   其英文封面上本应写着作者的位置写的却是“Edited by Andy Oram and Greg Wilson”。Edited?!那作者呢?   实际上,这本书有33位作者!   现在你知道为什么封面上不列作者了吧?一,列不下。二,也是更重要的,每位作者都是一个领域的大

媒体评论

重新擦亮思考的火花   《代码之美》这本书已经成为经典。关于它本身的赞美之辞已经不少了,不过到底从这本书里该读些什么东西,我倒是有些思考。   上世纪九十年代初期,当时正在加州大学埃尔文分校攻读博士学位的Douglas Schmidt在观察了他所参与的软件项目开发实

在线试读部分章节
第3章 我从未编写过的最漂亮的代码
  Jon Bentley
  我曾经听一位大师级的程序员这样称赞到,“我通过删除代码来实现功能的提升。”而法国著名作家兼飞行家Antoine deSaint-Exupéry的说法则更具代表性,“只有在不仅没有任何功能可以添加,而且也没有任何功能可以删除的情况下,设计师才能够认为自己的工作已臻完美。”某些时候,在软件中根本就不存在最漂亮的代码,最漂亮的函数,或者最漂亮的程序。
当然,我们很难对不存在的事物进行讨论。本章将对经典Quicksort(快速排序)算法的运行时间进行全面的分析,并试图通过这个分析来说明上述观点。在第一节中,我将首先根据我自己的观点来回顾一下Quicksort,并为后面的内容打下基础。第二节的内容将是本章的重点部分。我们将首先在程序中增加一个计数器,然后通过不断地修改,从而使程序的代码变得越来越短,但程序的功能却会变得越来越强,最终的结果是只需要几行代码就可以使算法的运行时间达到平均水平。在第三节将对前面的技术进行小结,并对二分搜索树的运行开销进行简单的分析。最后的两节将给出学完本章得到的一些启示,这将有助于你在今后写出更为优雅的程序。
  3.1 我编写过的最漂亮代码
当GregWilson最初告诉我本书的编写计划时,我曾自问编写过的最漂亮的代码是什么。这个有趣的问题在我脑海里盘旋了大半天,然后我发现答案其实很简单:Quicksort算法。但遗憾的是,根据不同的表达方式,这个问题有着三种不同的答案。
当我撰写关于分治(divide-and-conquer)算法的论文时,我发现C.A.R.Hoare的Quicksort算法(“Quicksort”,Computer Journal5)无疑是各种Quicksort算法的鼻祖。这是一种解决基本问题的漂亮算法,可以用优雅的代码实现。我很喜欢这个算法,但我总是无法弄明白算法中最内层的循环。我曾经花两天的时间来调试一个使用了这个循环的复杂程序,并且几年以来,当我需要完成类似的任务时,我会很小心地复制这段代码。虽然这段代码能够解决我所遇到的问题,但我却并没有真正地理解它。
我后来从NicoLomuto那里学到了一种优雅的划分(partitioning)模式,并且最终编写出了我能够理解,甚至能够证明的Quicksort算法。WilliamStrunkJr.针对英语所提出的“良好的写作风格即为简练”这条经验同样适用于代码的编写,因此我遵循了他的建议,“省略不必要的字词”(来自《TheElements ofStyle》一书)。我最终将大约40行左右的代码缩减为十几行的代码。因此,如果要回答“你曾编写过的最漂亮代码是什么?”这个问题,那么我的答案就是:在我编写的《ProgrammingPearls, SecondEdition》(Addison-Wesley)一书中给出的Quichsort算法。在示例3-1中给出了用C语言编写的Quicksort函数。我们在接下来的章节中将进一步地研究和改善这个函数。
书摘插画
插图

 代码之美下载



发布书评

 
 

 

PDF图书网 

PDF图书网 @ 2017