2009-02-08读书记录——《代码大全》(第一版)第五章——高质量子程序特点

在前一章中了解了有关子程序建立的步骤,但却没交待如果写出高质量的子程序,以及什么样的子程序才算是高质量的子程序。看了此章的标题就明白,在这一章中便会以子程序本知作为重要讲解了。

什么是子程序?子程序是具有单一功能的可调用函数或过程。

本章开头没有交待什么才算是一个高质量的子程序,而是用一个低劣的子程序来说明什么样才不算是高质量的子程序。低劣的子程序包括:

  1. 程序名让人困惑
  2. 程序没有说明
  3. 子程序的而局不好
  4. 作为输入变量,值不应该变化
  5. 进行了全局变量读写操作
  6. 功能不单一
  7. 没有采取预防非法数据的措施
  8. 使用了常数
  9. 部分参数没有被使用
  10. 参数过多

从这几点中可以知道什么样算是低劣的子程序了,那么反过来就一定算是高质量的子程序吗?带着疑问继续往下看。

自己摘录一些好的句子:

  • 使用子程序的首要原因是为了降低程序的复杂性,另外一个原因是昼减小代码的篇幅
  • 要把最可能改动的区域设计成最容易改动的区域
  • 最可能被改动的区域包括:硬件依赖部分、输入输出部分、复杂的数据结构和商务原则
  • 想改进一个子程序,最好把将要改动的那部分放进子程序中,将其独立
  • 编写子程序的最大的心理障碍是不情愿为了一个简单的目的去编写一个简单的子程序
  • 对于过程的名字,可以用一个较强的动词带目标(动宾词组)的形式
  • 变量名称最佳长度是9到15个字母、子程序名称一般15到20个字母
  • 应该把一个子程序的参数限制在七个左右

内聚性

这部分理解的不够透彻,做个记录,回头再再一遍。

  • 内聚性是指一个子程序内部各部分之间的联系程度

耦合性

  • 耦合是批子程序之间的联系程度
  • 耦合规模是指两个子程序之间联系数量的多少
  • 内容耦合(一个子程序使用了另外一个子程序中的代码,或者它改变了其中的局部变量)是不被接受的

 

创建子程序的理由总结:

  • 降低复杂性
  • 避免重复代码段
  • 限制改动带来的影响
  • 隐含顺序
  • 改进性能
  • 进行集中控件
  • 隐含数据结构
  • 隐含指针操作
  • 隐含全局变量
  • 促进重新使用代码段
  • 计划开发一个软件族
  • 改善某一代码的可读性
  • 改善可移植性
  • 分隔复杂操作
  • 独立非标准语言函数的使用
  • 简化复杂的布尔测试

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值