`
glutinit
  • 浏览: 46299 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

代码大全读后杂记-01

 
阅读更多
代码大全真是一本书!但作者牛就就在写着么厚的书,却让你不觉得内容空虚(不像很多国内的混书水不拉吉),至少我看到第六章依旧觉得兴趣盎然,很多东西虽然似曾相识,但被作者巧妙的组织在一起让人有醍醐灌顶的感觉,妙哉;
因为本人奔三在即,记忆衰减严重,所以不再过目不忘(自然从来没有过该本事...),就借ItEye(顺便鄙视一下Oracle的霸道)之宝地写一点读后感吧,作为自己记忆的存储空间。
废话不多说,选章不如撞章,就从第六章某节开始杂记起吧~

6.4 创建类的原因:

写代码写了好几年了,加上研究生时七拼八凑的那些代码,接触面向对象,类这样的概念也不少了,但让我正经八百的给你说创建类的原因到底是啥子,俺还真讲不太清楚,就直接拷贝粘帖作者的原话吧,哈哈

1. 为现实世界的对象建模
   此乃废话,但是不得不提的废话,否则就不用提类这个概念啦

2. 为抽象的对象建模
   就是抽象出世界本没有的概念,我想有一定数学基础的人都很好理解,比如Point,Shape这样抽象的概念,在必要的时候,可以抽象成一个类加以使用

3. 降低复杂度
   就像我们看一个人的时候,先关注的是这个人的外在,表象等,并不是直接就看清了这个人的五脏六腑,所以说知人知面不知心,人心隔肚皮等等...扯远了,就是说写类是为了让人不用过多的关注太多的细节,毕竟人的头脑是有限的

4. 隔离复杂度
   这里的复杂,有可能是复杂的算法,复杂的数据结构,复杂的通讯协议等等,如果没有类的包装,这些玩意儿这一坨,那一堆的,让程序员的后期维护和修改成了噩梦,所以需要把这些复杂的家伙都一股脑的整到一起(当然,是你的代码结构设计的够巧妙才行),这样,在后期修改管理上面,就不用在复杂上再来复杂了,我想,降低耦合,增加内聚差不多一个意思吧

5. 隐藏实现细节
  这个和3,4的内容有些类似

6. 限制变动的影响范围
如果你在写代码的时候,有一部分是经常或有可能变动的,那么最好把它们隔离出来,让这一部分的变动不至于影响到全身

7.隐藏全局数据
这点我也做的不好,为了方便,我经常把全局数据暴露的清清楚楚,作者认为,应该把这些数据也隐藏在类的接口背后,可以使用访问器(access rountine)来代替,这样子如果全局变量的数据结构变动了,也不用修改其他的程序..嗯,以后得注意

8.让参数传递更流畅
这个其实更像重构的概念,当你发现你的代码中间有某个参数在多个模块之间传来传去,那么就有必要停下来思考一下,是否需要把这些子程序放置到一个类里面了

9.建立中心控制点
将针对某种任务的控制代码都放置到一个类里会比较好,其实这也是很自然的,比如,建立数据库连接,断开这样的代码还是放在一起吧,否则,万一数据库变更了,你就得到处去找你在哪里写了conn代码啦

10.让代码更加易于重用
对于一个项目组来说,日积月累的可重用代码是无可多的的财富。我们在写一个新的项目的时候,也要注意这一点,看看自己的某些代码是否可以抽象的更好,让以后的类似项目不用做重复的工作了,我这点做的不是很好,有些同事做的不错,学习学习

11.为程序族做计划
好吧,我也是第一次看到程序族这个概念...Family of Programs,大概是作者原创的?意思其实就是说,在写某一个模块时候,也要从整个项目的角度出发,比如某些需求用户会变更的比较频繁,或者你自己对于某些代码未来会做修改,那么最好把这些东西放在一个类里,当然,这个和之前的某些概念有些重复,自己把握~

11.实现某种特定的重构
很多新类都是在重构的时候出现的,很多老类也会在重构的时候被消灭

完毕,灭哈哈
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics