函数签名

90 阅读1分钟

抛出两个问题:

1,在定义一个函数的时候你是否会考虑这个函数将来怎么调用?

2,调用一个函数的时候你是否会去回忆这个函数当时是怎么实现的?

如果出现这两种情况都是不对的,这样会让你写代码徒增苦恼。

有一个段子,很多时候你的代码实现,在刚写完的时候只有你和上帝看的懂,2个月之后只有上帝看的懂。

函数实现其实是写代码过程中最简单的事,不管初级中级高级程序员磨一磨总能实现。区分普通程序员和高级程序员很关键的一点是程序设计

实现一个函数分为两部分

第一:函数签名(函数设计)

第二:函数实现

函数签名最重要的三个点:函数名,入参,返回值

例如编写一个函数用于比较两个值是否发生过改变

第1步定义函数名:hasChanged

第2步确定函数入参: oldValue,newValue

第3步确定返回值:return boolean

function hasChanged(oldValue, newValue) {
  // TODO
  // return boolean
}

当函数签名设计好了之后,剩下的就都是函数实现。

这个时候你不用去管这个函数将来怎么调用

也不要在将来调用的时候想这个函数是怎么实现的

你看到函数签名就知道这个函数怎么用了就行,就像调用js自带的方法如:

toString()

Date.now()

Math.abs(-1)

调用这些函数的时候你肯定不会去关心它们是怎么实现的。