本文主要是介绍代码思考 -- 1.需要弄清的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从代码中我们能够得到很多有用的信息,思考着这些代码,提出了一些问题:
【程序的层次】
1.程序的设计,开发是有着明显的层次的特点的。这也就造成了代码的层次性。这种具有层次的特征,从某方面来源于人们设计软件的过程的影响,自顶向下的这种开发软件的方式,最能体现这种层次结构。(当然,自底向上也是可以得)【层次结构,是人的设计的体现,是人的思维方式的体现】
2.程序的层次是有不同的划分方式的。【结构层面】
(1)层次,会体现在数据结构中。(在一种数据结构中去包含另一种数据结构,这种组合就会形成一定的层次结构)
(2)层次,会体现在类的设计中。这一点是十分明显的,我们平时使用的接口,继承等都体现了这种层次结构的构造。
(3)层次体现在不同程度的流程之中,小的流程会构成更大的流程中一个很小的模块。这就体现了流程中存在着的层次结构。 (在程序中,流程体现在 : 控制结构,语句,函数调用。)
函数本身就是一个处理流程。(函数中的语句构成的流程,形成了一个函数)
而函数的相互调用(构成 call graph),也可以看做一个不太准确的流程处理。
3.程序的层次。
软件的设计
风格
软件架构
设计模式
数据结构
算法
···
针对上面的这些东西,思考下面这样一些问题:
(1)为进行软件的设计,我们应该做哪些必要的前提准备? 【需要建立哪些模型 来辅助自己思考?】
(2)如何加深对于上面的一些概念的理解?
(3)软件架构与设计模式有何区别?
(4)设计模式 的使用与数据结构的设计有何区别?两者有何不同,有何联系?
【设计模式是为了修改方便。数据结构,目的是为了组织数据】
(5)算法 与 数据结构有何区别?
(6)上面提到这些层次,在软件过程中,编程过程中各自发挥着什么作用?
(7)针对自己遇到的问题,如何区分问题是哪个层次上的原因?
(8)如何去寻找各个层次上的解决方案?(架构上如何寻找? 数据结构,算法角度如何寻找?)
这篇关于代码思考 -- 1.需要弄清的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!