现在,计算机领域里有很多各种各样的语言,比如汇编语言、高级语言、命令式语言、函数式语言、逻辑式语言、静态语言、动态语言、脚本语言等等等,这些语言花样繁多,各有各的不同,但是函数是它们共有的,而且函数的重要性就要细胞之对于世界所有的生物一样。
从古至今的函数,它们都长的是同一个样子,都是函数名加参数,这应该是从数学里学习过来的。
如果要对现在的函数改造一下会怎么样?肯定会引起程序巨大的改变。
现在的函数局限在于,它的函数名只有一个字符串,所有的意思都要挤在这一个短短的字符串里,比如move(a),GetByNode(a,b,c)...
现在我们把函数的定义改这样,函数是带有若干个参数的一个语句。
下面举两个例子。
(1)三元运算符"?:"的作用不小我们经常用,现在我们可以把它从语言里踢除,改用一个推广的函数If(a) Get (b) Else Get(c),这样更容易理解。
(2)比如要定义一个函数,足球football以速度speed、角度angle、起点start移动到终点end,一般我们是这样定义的
void move(Football football,int speed,int angle,Point start,Point end)
,我们用推广的函数就可以很好的定义
(Football football)以速度(int speed)角度(angle)从(Point start)移动到(Point end),
使用时
(f)以速度(s)角度(a)从(start)移动到(end),
绝对比
move(f,s,a,start,end)要爽的多。
推广的函数有一个缺点,就是用起来打字比较多,但是它这样更容易理解使用维护,大部分情况下完全可以代替文档注释