美文网首页
《编程珠玑》之珠玑

《编程珠玑》之珠玑

作者: 什么都值得 | 来源:发表于2017-04-20 21:55 被阅读16次

作者:Jon Bentley

本书的作者通过一个一个实际生活中的例子来给引导我们对编程进行思考,虽然在实际工作中我们多半是只使用思考的结果,但本书更重要的是让我们了解到发现问题本源,并真正解决问题的一个思考过程。本书主要提出了一些抽象概念,目的不是像《算法导论》那样先提出抽象问题,然后进行实际的讲解与编码,而是一步一步带领我们如何更好地解决问题。

其实本书后半部分包括续集,其质量都不高(我是这么认为的),都是讲一些没多大用的东西。其实我从中学到最多的就是位图的使用以及实际开发过程中需要注意的一些问题。

没想到,小小的位图对于海量数据的处理还有这么大的功效。当然了,书中所说的所有问题以及思考我都没有去真正编码过,但我觉得自己能写好80%的代码(感觉和事实肯定不一样的。)

语录

1.对小问题的仔细分析有时可以得到明显的实际益处。

2.明确了问题,那这场战役就成功了90%

3.设计者确定其设计已经达到了完美的标准不是不能再增加任何东西,而是不能再减少任何东西。——Antoine de Saint-Exupery

4.程序员在节省空间方面无计可施时,将自己从代码中解脱出来,退回起点并集中心力研究数据,常常能有奇效,(数据的)表示形式是程序设计的根本。——Fred Brooks

5.计算机系统中最廉价、最快速且最可靠的元件是根本不存在的。——Gordon Bell

6.当程序性能问题无法回避时,考虑设计层面会有助于程序员集中精力解决问题。如果仅需要较小的加速,就对效果最佳的层面做改进,因为“性价比”最高的那一个投入最小的精力就可以获得最大加速系数的那个设计层面。如果需要较大的加速,就对多个层面做改进。

7.任何事都应尽量简单,但不宜过于简单。——爱因斯坦

8.代码调优的最重要的原理就是尽量少用它

9.解决现有的问题是程序员任务的一部分,另一个也许更重要的部分是做好解决未来问题的准备。本章示例了编程过程中的几个重要步骤:正确理解所遇到的问题;提炼出抽象问题;考虑尽可能多的解。

10.如果还没想清楚,就用蛮力算法吧。——Ken Thompson

11.代码写得越急,程序跑得越慢。——Roy Carlson

12.如果你发现特殊情况太多,那你肯定是用错方法了。——Craig Zerouni

13.在我所有的程序错误中,80%是语法错误。剩下的20%里,80%是简单的逻辑错误。在剩下的4%里,80%是指针错误。只有余下的0.8%才是困难的问题。——Marc Donner

14.在系统测试阶段找出并修正错误,要比开发者自己完成这一工作多付出2倍的努力。而当系统已经交付使用之后找出并修正一个错误,要比系统测试阶段多付出9倍的努力。因此,请坚持让开发者进行单元测试吧。——Larry Bernstein

15.新系统的每一个新用户都可能发现一类新的错误。——Brian Kernighhan

16.对于那些快速算法,我们总是可以拿到一些速度差不多但是更容易理解的算法来替代它们。——Dougls W. Jones

17.在一个非I/O密集型的程序中,超过一半的运行时间是花在不足4%的代码上的。——Don Knuth

18.在优化一个程序之前,请先用性能监视工具找到程序的“热点”。——Mike Moron

19.【代码规模守恒定律】当你为了加速,把一页代码变成几条简单的指令时,请不要忘了增加注释,以使源码的行数保持为一个常量。——Mike Morton

20.纸上的工作没结束,整个工作也就还没结束。

21.【90-90法则】前90%的代码占用了90%的预定开发时间,余下的10%代码又花费了90%的预定开发时间。——Tom Cargill

22.正确的判断来源于经验,然而经验来源于错误的判断。——Fred Brooks

23.如果有人基本上做出了你想要做的东西,你就没必要自己写一个新程序。就算你非写不可,也请尽可能多地利用现有的代码。——Richard Hill

24.先让程序跑起来,再考虑怎么让程序跑得快。——Bruce Whiteside

相关文章

  • 《编程珠玑》之珠玑

    作者:Jon Bentley 本书的作者通过一个一个实际生活中的例子来给引导我们对编程进行思考,虽然在实际工作中我...

  • 编程珠玑

    ## 编写自己的代码库 应该将自己编写的每一个程序都当作一个日后可以重用的库。 * 编写用例,在实现中将计算过程分...

  • 《编程珠玑高清》PDF高清完整版-免费下载

    《编程珠玑高清》PDF高清完整版-免费下载 《编程珠玑高清》PDF高清完整版-免费下载 下载地址:网盘下载 备用地...

  • 编程珠玑 笔记

    第一章 开篇 友好的对话 在别人不会问问题时,引导他去问问题也是一个很大的学问。Jon与一个程序员问的问...

  • 编程珠玑-01

    说来惭愧, 大概半年前买的, 在书柜里躺了半年了, 前几天看了几页, 很认真的那种看, 仅仅看了几页, 觉得还是能...

  • 编程珠玑11.6

    今天读了《编程珠玑》的第三章,可能是这本书写的比较早(30年前)的缘故吧,有很多地方感觉不理解。但是在那个时代作者...

  • 相关书籍

    《大话数据结构》《剑指Offer》《编程之美》《编程珠玑》

  • 《编程珠玑》之快速排序

    1. 一种简单的快速排序 快速排序最重要的就是partition函数,即选定某一个数后,使得所有小于该数的数字都在...

  • 2015年这些技术书你是不是错过了?

    《编程珠玑》(第2版·修订版) 《编程珠玑(第2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员...

  • 算法学习----《编程珠玑第15章》默默地整理有关字符串的算法-

    《编程珠玑》第15章 编程珠玑第15章是讲关于字符串的一系列问题和基本常见的算法的。在最近的编程过程当中经常要和字...

网友评论

      本文标题:《编程珠玑》之珠玑

      本文链接:https://www.haomeiwen.com/subject/pfkrzttx.html