代码大全读后感

一:80页:理想设计特征

1.最小复杂度

见解:

1.尽量减小复杂度,比如查询的时候可以用快排

2.用存储结构的时候,频繁插入删除用list,频繁查找用vector

3.不涉及到排序的时候尽量用unordered类型

4.for循环嵌套,小循环嵌套大循环

二:93页:信息隐藏的一个例子

有个程序,其中每个对象都是通过名为id的成员变量存储唯一的ID。

简单的方式就是设置一个全局变量g_id,其他对象构造的时候,简单使用id =++g_id;

正确的做法是:

设计一个接口

NewId()  { return(++g_id);};

id=NewId();

三:93页:非标准语言特性

见解:

将外部库封装在函数里面去调用,而不要直接调用。

后面如果要替换起来也比较容易。

四:100页:耦合标准

有一个公用函数,需要两个参数,而这两个参数是某个类的数据。

这个函数的正确设计应该是用这两个参数作为函数的参数。而不是用类作为参数。

五:102页:语义上的耦合

 见解:

如果有两个类,我们设计的时候,不能因为A知道B需要什么,就提供具体的操作,比如A有初始化init函数,然后A中有Run函数,Run函数无论如何都会调用init函数。然后B直接调用Run函数。A知道B实际上只用到7个初始化数据中的3个。所以A只初始化3个数据。这就是语义的耦合。非常危险。

正确做法:

B应该调用A的init,A中的初始化可以全部数据初始化,或者写一个函数专门初始化需要的3个数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值