文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发其他语言优美程序还需优美子程序
精品推荐
特别推荐
·控制面板知多少
·给你十条学习Ruby语言的理由
·分页管理机制
·Perl 语言的重要价值体现
·经验技巧:分享两条Delphi开发经验
·Java编程思想:面向对象的逻辑思维方法
·Samba系统简介
热点TOP10
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·DENX U-Boot及Linux使用手册
·EZ-USB 68013A开发指南
·图象处理中的边缘检测------canny算子
·Visual C++ ADO数据库编程入门
·利用 wordXP 实现自动排班
·UDT协议-基于UDP的可靠数据传输协议
·XPCOM--LINUX下的组件开发技术
·MyEclipse JSF 快速入门中文版(上)
·samba和openldap结合实战
·AIX 5L 学习大纲/简易教程(1)(未经许可,请勿COPY)
·Microsoft Windows XP Embedded 开发工具概述
·eMbedded Visual C++开发入门
·在VC6中创建wxWidgets项目[附图]
·数值计算程序大放送-线性代数方程组
·列表视图控件
·visual studio 2005 简体中文团队开发版 SQL server 2005简体中文版下载
·Visual Studio 2005:在 Visual C++ 中开发自定义的绘图控件
·汇编语言工具下载
·多文档界面(MDI)

优美程序还需优美子程序

日期:2007年5月3日 作者: 查看:[大字体 中字体 小字体]


我见过那种一个main函数写了1000多行的程序员,而且为数还不在少数。难道说他们不懂得用函数吗?不见得,但可以肯定的一点是他们没有编写优美代码的意识。那么我们为什么需要子程序呢?我们来看看STEVE McCONNELL是怎么说的。

以下是关于为什么要生成于程序的一些合理原因,其中有些原因之间可能有互相重叠的地方。

降低复杂性

使用子程序的最首要原因是为了降低程序的复杂性,可以使用子程序来隐含信息,从而使你不必再考虑这些信息。当然,在编写子程序时,你还需要考虑这些信息。但是,一旦写好子程序,就可能不必再考虑它的内部工作细节,只要调用它就可以了。创建子程序的另外一个原因是尽量减小代码段的篇幅,改进可维护性和正确性。这也是一个不错的解释,但若没有子程序的抽象功能,将不可能对复杂程序进行明智的管理。 一个子程序需要从另一个子程序中脱离出来的原因之一是,过多重数的内部循环和条件判断。这时,可以把这部分循环和判断从子程序中脱离出来,使其成为一个独立的子程序,以降低原有子程序的复杂性。

避免代码段重复

无可置疑,生成子程序最普遍的原因是为了避免代码段重复。事实上,如果在两个不同子程序中的代码很相似,这往往意味着分解工作有误。这时,应该把两个子程序中重复的代码都取出来,把公共代码放入一个新的通用子程序中,然后再让这两个子程序调用新的通用子程序。通过使公共代码只出现一次,可以节约许多空间。这时改动也很方便,因为只要在一个地方改动代码就可以了。这时代码也更可靠了,因为只需在一个地方检查代码。而且,这也使得改动更加可靠,因为,不必进行不断地、非常类似地改动,而这种改动往往又是认为自己编写了相同的代码这一错误假设下进行的。 限制了改动带来的影响。由于在独立区域进行改动,因此,由此带来的影响也只限于一个或最多几个区域中。要把最可能改动的区域设计成最容易改动的区域。最可能被改动的区域包括:硬件依赖部分、输入输出部分、复杂的数据结构和商务规则。

隐含顺序

把处理事件的非特定顺序隐含起来是一个很好的想法。比如,如果程序通常先从用户那里读取数据,然后再从一个文件中读取辅助数据,那么,无论是读取用户数据的子程序,还是读取文件中数据的子程序,都不应该对另一个子程序是否读取数据有所依赖。如果利用两行代码来读取堆栈顶的数据,并减少一个Stacktop变量,应把它们放入一个PopStack()子程序中,在设计系统时,使哪一个都可以首先执行,然后编写一个子程序,隐含哪一个首先执行的信息。 改进性能。通过使用子程序,可以只在一个地方,而不是同时几个地方优化代码段。把相同代码段放在子程序中,可以通过优化这一个子程序而使得其余调用这个子程序的子程序全部受益。把代码段放入子程序也使得用更快的算法或执行更快的语言(如汇编)来改进这段代码的工作变得容易些。

进行集中控制

在一个地方对所有任务进行控制是一个很好的想法。控制可能有许多形式。知道一个表格中的入口数目便是其中一种形式,对硬件系统的控制,如对磁盘、磁带、打印机、绘图机的控制则是其中另外一种形式。使用子程序从一个文件中进行读操作,而使用另一个子程序对文件进行写操作便是一种形式的集中控制。当需要把这个文件转化成一个驻留内存的数据结构时,这一点是非常有用的,因为这一变动仅改变了存取子程序。专门化的子程序去读取和改变内部数据内容,也是一种集中的控制形式。集中控制的思想与信息隐含是类似的,但是它有独特的启发能力,因此,值得把它放进你的工具箱中。

隐含数据结构

可以把数据结构的实现细节隐含起来,这样,绝大部分程序都不必担心这种杂乱的计算机科学结构,而可以从问题域中数据是如何使用的角度来处理数据。隐含实现细节的子程序可以提供相当高的抽象价值,从而降低程序的复杂程度。这些子程序把数据结构、操作集中在一个地方,降低了在处理数据结构时出错的可能性。同时,它们也使得在不改变绝大多数程序的条件下,改变数据结构成为可能。


[1] [2] [3] 下一页 




上一篇:移动数据库和J2ME工具探讨

下一篇:Platform Builder实践之两个要点

优美程序还需优美子程序 相关文章:
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·不用任何软件(木马程序)盗取账号密码
·破解程序及注册机使用方法
·Dreamweaver MX 2004做ASP程序(4)用户注册系统
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·用C语言实现Ping程序功能
·asp.net程序中最常用的三十三种编程代码
·快速启动程序我有妙招
·进程调度模拟程序
·SUN认证Java2程序员考试(SCJP) 试题解析
优美程序还需优美子程序 相关软件:
·C语言程序设计
·Windows环境下32位汇编语言程序设计
·FLASH个人简历源程序(FLA)
·C语言程序设计视频教程 CSF 教材:谭浩强《c程序设计》
·零起点教你如何破解软件和制作注册机 and 视频+程序
·Sim Aquarium v2.06 -非常漂亮的海底世界屏幕保护程序
·硅谷 C++程序设计视频教程 齐幼菊
·C++程序设计语言特别版(中文版+英文原版)
·程序人生
·Matlab程序设计

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot