关注设计上的意义,而不是实现细节
程序语言有很多语法,让人无所适从,是否一定要精通所有语法才能编程?不见得,因此,我们应该注重语法的设计上的意义,而不是语法自身的细节。设计上的意义,就是你想怎样去运用这个语法,这个语法可以用来干什么。语法只是一种基础,而不是设计要素,要成成为设计要素,就要对语法进行认识和组织。你可能认识到变量的各种特性,但是你却没有发现变量实际用来做什么,你可能清楚结构的各种细节,但你又不清楚结构用来表达什么内容。因此这就是读死书。我们要组织其自己的设计元素,才能加强我们的表达力,通过理解设计上的意义,才能够快速的组织好程序设计,而不是纠结于语法细节。
比如函数,可以理解为语法上的函数,也可以理解为一种通信渠道(设计意义),一种操作(设计意义),并非说你知道函数的语法,自然而然就会发觉它们有这些公用,这需要看透实质的眼光。每个人的设计要素都有差别,这在于他对语法理解的不同。比如对于采用面向过程的人来说,就和面向对象的人的设计元素不同。
闲话少说。不同语法在我看来的设计用途如下:
1.常量,用来取代固定的数值
2.变量,用来存放数据
3.结构,用来定义新的数据类型
4.类,用来定义抽象数据类型,包含操作函数。(为何用类,因为类【隐喻】封装数据的访问,有别一般的数据类型)
5.类,用来定义数据集合。
6.数组,用来定义数据集合。
7.类,用来定义状态和操作的单元,也就是对象。
8.接口,用来交互调用对象。
9.成员函数,用来修改对象状态。
10.函数,用来实现算法,无副作用,无外部依赖。
11.函数,用来实现流程。
12.事件,用来通信。
13.委托,用来通信。
14.泛型,用来定义宽范围的对象类型。
15.linq,用来对集合进行筛选(无修改)。
16.多线程,用来同步任务
17.循环语句,用来迭代
18.If语句,用来建立不同分支
19.函数调用自身,建立递归关系