永发信息网

分解程序应亥怎么办

答案:1  悬赏:30  手机版
解决时间 2021-02-24 07:55
分解程序应亥怎么办
最佳答案
一、主函数
一个程序解决一个问题。
那么就可以用一个主函数解决这个问题。
二、子程序
这个函数会变得很长,读起来很辛苦,咋办?分解成若干子程序,让主函数调用他们。那么怎么划分?基于什么原则?
子程序的划分,基于逻辑层次;阅读是基于一定层次的,比如事件的概要和事件的细节的差别;文章的目录和文章的内容的区别;要想快速的了解一件事,只需要知道概要便可以。主函数就是记录概要的地方,而子程序是具体的内容;假如子程序还是太复杂,那么还能细分成子子程序,由子程序在它的层面上去提取概要信息。
是否可以无限的细分下去?直到子程序变得足够简单?最好不要!子程序是一个片段,相当于把一个完整的流程给片面化,那么这个子程序本身就是难以理解的。细分太多,要了解完整的流程就变得异常困难。因此,层次最好不要超过三层。
另外一点,程序不是以其长短来决定是否应该划分成子程序的,而是以是否存在逻辑层次的界线来划分子程序;如果从认识上、理解上都是一个层面的内容,那么就算再长也没有必要分成若干小节的子程序。
三、函数
比子程序更好的办法是用子函数去细分主函数。子程序之所以难以理解,在于它自身并不是独立的,而是主流程的一个片段,而函数是独立的,只依赖于参数(这是和子程序的区别)。不管在什么层面上,用相同的参数调用函数都是得到相同的结果,它是独立的,上下文无关的。但是这种独立性也是需要代价的,函数比子程序要难写,要具备更加整体的思维,对输入输出有更准确的把握。函数也无法完全的代替子程序,因为函数是基于参数抽象的,而子过程是主流程的概要,两种思维模型有差异,很难一一对应起来。
四、抽象数据类型
当子函数变得过多,就会发现,函数不过是围绕参数做工作的工具。这些参数就是一组数据,一组状态,而且这些状态对应着若干个函数,是一对多的关系,因此这些对应的若干个函数就相当于围绕这个状态组合的工具,出现明显的主从关系。通过抽象数据类型,把相关的参数合并为一个类型,然后关联操作他们的函数,得到一个稳固的抽象体。这进一步优化了程序的结构。
五、对象
抽象数据类型的进化就是对象,对象对状态做进一步的封装,让外界无法直接操作数据,从而加强其独立性。
六、面向对象
完善的利用对象的理论,就是面向对象。面向对象确定了三件事:1、创建对象的标准;2、操作对象的界面;3、对象间交互通信的方式。面向对象最本质的特征,是分离了界面和实体。基于面向对象方式的程序,可以不修改用户代码的情况下,增加不同的实现个体,从而正式划分了服务对象和用户对象的区别。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
以一个人的年龄为参照标准来对智力进行衡量称
鳕鱼要多少钱一斤,
布美居·家居生活馆在哪里啊,我有事要去这个
2k15员工怎么更换
朋友老公过生日送什么好
两道初中数学 方案难题
从九里提到火车东站坐几路。是新的那个哟急呀
甘遂和京大戟相同的功效是()
渔塘村怎么去啊,有知道地址的么
拱桥 什么意思?
悲欢离合,飘散岁月里,对联,下一句怎么说
脚大的女孩子穿什么样的凉鞋会好看点?带图片
交通事故,造成十五岁小孩,胸椎11.12腰椎1.2
艾美装饰在哪里啊,我有事要去这个地方
斌斌饭店在什么地方啊,我要过去处理事情
推荐资讯
我电脑一个月5G的流量 用QQ语音的话大概能语
狐狸怎么打劫啊,今天玩狐狸被劫吊起来打。吓
是在steam上激活还是在烂橘子上激活
2015年魏县房价会跌吗
老瓦清真馆地址在什么地方,想过去办事
予的偏旁是什么字
跟长辈打电话,什么时间合适呢,长辈白天上班
金州装饰这个地址在什么地方,我要处理点事
高新请男保姆要求会开车的是骗子吗
下列既是公民享有的权利,又是公民必须履行的
服务器cpu,比如intel的E2650,后面的数字稍
蓝雨鲜花在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?