码迷,mamicode.com
首页 > 其他好文 > 详细

《Code Complete》ch.7 高质量的子程序

时间:2014-06-14 20:20:03      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:code   java   tar   com   使用   数据   

WHAT?

  子程序(routines)是为实现一个特定目的而编写的可被调用的方法或过程。在C++中是函数(function),在Java中是方法(method),在VB中是函数过程(function procedure)或子过程(sub procedure)。

WHY?

  • 降低复杂度
  • 引入中间、易懂的抽象
  • 避免代码重复
  • 支持继承、重写
  • 隐藏实现细节
  • 提高可移植性
  • 改善性能(对明确的子程序进行优化)

HOW?

  • 内聚性(cohesion):是指子程序中各种操作之间联系的紧密程度
  • 编程的目标是让每一个子程序只完成一件事情
  • 内聚性的几个层次,由高到低排列
    • 功能内聚(functional cohesion):最强、最好的内聚,只完成一件事情
    • 顺序内聚(sequential cohesion):子程序做了至少两件事情,且这两件事情有分先后顺序
    • 通信内聚(communicational cohesion):子程序做了至少两件事情,它们使用了同样的数据
    • 临时内聚(temporal cohesion):将一系列操作放到一起执行,如startUp()、shutDown(),应该由这些程序去调动其它子程序,而不是把实现都写在这些程序中
    • bad:过程内聚(procedural cohesion):子程序中操作必须按照特定顺序进行
    • bad:逻辑内聚(logical cohesion):依靠输入参数的标识位来决定执行哪一段逻辑
    • bad:巧合内聚(coincidental cohesion):子程序中各个操作没有关联,一团乱麻

 

《Code Complete》ch.7 高质量的子程序,布布扣,bubuko.com

《Code Complete》ch.7 高质量的子程序

标签:code   java   tar   com   使用   数据   

原文地址:http://www.cnblogs.com/maozhige/p/3784578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!