代码大全第五章阅读摘抄

第五章

1. 设计是一个“险恶”的问题,只有通过解决和部分解决才能被明确的问题。你必须首先把这个问题“解决”一遍以便能够明确的定义它,然后再次解决该问题,从而形成一个可行的方案。

 

2. 设计的过程是了无章法的过程。因为在此过程中你会采取很多错误的步骤,多次误入歧途。事实上,犯错正式设计的关键所在,再设计阶段犯错并加以改正,其代价要比编码后才发现同样的错误并彻底修改低的多。

 

3.设计是一个取舍调整顺序的过程。他要在设计和开发时间进行取舍。

 

4. 设计收到资源上的限制。

 

5. 设计是一个启发式过程。设计充满了不确定性,因此设计技术也趋于探索性,而不是能够产生预期结果的可重复过程。设计过程总有试验和犯错,没有任何工具是用之四海而皆灵的。

 

6. 设计是自然形成的,他是在不断设计评估,非正式讨论,写试验代码以及修改代码演化而完善的。

 

7. 软件的首要使命:管理复杂度。项目失败大多数都是由差强人意的需求,规划和管理导致的。但是当项目确由技术导致失败时,其原因通常是失控的复杂度。有关的软件变得极端复杂,让人无法知道他究竟是在做什么。当没人知道对溢出代码的改动会对其他代码带来什么影响时,项目也就快停止进展了。

 

8. 在软件架构层次上,可以通过把整个系统分解成多个子系统降低问题的复杂度。人类更易于理解许多项简单的信息,而不是一项复杂的信息。所有软件设计技术的目标都是把复杂问题分解成简单部分。子系统间的相互依赖越少,就越容易在同一时间里专注问题的一个小部分。

 

9. 受着人类固有限制影响的程序的底线,就是要写出即让自己容易理解,也让别人容易看懂,而且很少有错误的程序代码。

 

10. 高代价、低效率的设计源于下面三种根源:1.用复杂方法解决简单问题。2.用简单但错误的方法解决复杂问题。2.用不恰当的方法解决复杂问题。

 

11.理想的设计特征。1.最小的复杂度。2.易于维护。3.松散耦合。4.可扩展性。5.可重用性。6.高扇入(大量类使用了较低层次的工具类)。7.低扇出(高层次尽量减少依赖)。8.可移植性.9.精简性.10层次性。11.标准技术。

 

12.设计模块:1.寻找现实世界中的具体对象。2.形成一致的抽象。3.封装实现细节。4.当集成能简化设计就集成。5.隐藏秘密(信息隐藏)。6.找出容易变化的区域并分离出来。7.保持松散耦合。8.快速迭代寻找最优的解决办法。9.分解系统。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值