《编程珠玑》读书笔记

---------------------------基本原则------------------------
1、仔细分析小问题有时可带来巨大的实际好处
2、要打破概念上的障碍,转而解决一个更简单的问题,才能有效地解决问题
3、不要勿勿忙忙将第一灵感编写为程序,应该在编码之前进行充分的思考、权衡和抉择,以找出最有效的算法和设计
4、能用小的程序的话就不要编写大程序
5、数据结构对软件的贡献极大:
   a.可将大程序缩减为小程序,以及时间和空间的缩减,增加可移值性和可维护性
   b.凝神考虑数据,通常会打到更为有效的方法
   c.表示法是编程的精华
6、编程中需要考虑的几个原则:
   a.将重复性代码改写到数组中
   b.封装复杂的结构
   c.尽可能使用高级工具
   d.让数据去构造程序
7、编码技能只能构成编写正确程序的一小部分,大部分任务是要:问题定义、算法设计以及数据结构选择
8、即使有了最优秀的设计,也必须编写精细的代码
9、平均值始终在两个值之间
10、契约式编程:假定如果调用该函数时满足前置条件的话,那么函数的执行将确立其后置条件。一旦证明了函数体具有此属性,我们就可使用前置条件和后置条件之间的这种陈述关系,而不需要再次考虑实现问题
11、保持代码的简单性通常是正确性的关键
12、使用断言来发现程序中潜在的错误
13、编写脚手架测试程序来对代码进行自动化测试
14、对于高难度的函数,最简单的方法就是先使用便利的高级伪码为其描绘框架,然后将其转换为实现语言
15、如果对运行时间要求不高,采用线性查找要比二分查找简单得多

---------------------------性能问题------------------------
1、程序中要实现可观的运行加速,需要在不同层次对程序进行优化
   a.采用高效的算法和有效的数据结构
   b.算法优化
   c.对数据结构进行重组
   d.代码优化,由于程序中往往80%的运行时间被某个低效的函数或一小段程序所占用,使用高效的语言(如汇编语言)或高效的算法重写该函数或那段代码
   e.硬件
2、将大系统分解为模块可能是确定性能时最重要的单个因素。因为在新系统中获得效率要比在现有系统中进行效率改进容易得多,所以性能分析在系统设计期间是很关键的
3、更改系统所依赖的软件要比更改系统本身还简单,比如使用更块的数据库系统、操作系统,启用所有的编译器优化选

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值