函数其实没什么值得特别注意的。如果你编的多了,会发现这个问题其实应该从设计的角度出发来想。
比如太简单的函数有没有存在的必要。
比如编一个函数只负责判断一个数是不是偶数呀,编一个函数只用来求两个数的和呀,之类的函数就没什么存在的价值。应该舍去。
还有太复杂的函数是否应该考虑划分为几个更简单的函数。
比如一个函数的局部变量是否超过7个,静态逻辑深度是否超过4层等等。如果还有符合类似特点的函数,就应该考虑降低函数的复杂度。
还有就是函数的功能合不合理。
比如你是否可以用一句话说清一个函数的主要功能?如果能,这个函数就比较简洁,而且重用性可能很高。否则这个函数的功能就可能过于专用,往往无法于其它函数配合使用。考虑库函数的功能是不是都可以用一句话说清~~
函数应该杜绝不合理的副作用。
比如一个函数会不会有传出参数?多不多?行为可不可以理解?一个函数是否会更改全局变量?这一般不是个好主意,它往往引发难于察觉的问题。
比如 strcpy 要求调用都提供存储空间,为什么要这样设计?为什么还要提供 strdup 这个函数?
类似相关的问题非常多,讲设计的书一般会讲这些。初学的时候不用掌握这些内容,只要知道函数是一组用来重用的代码就行了。
它确实是一个重要的环节,也是一个比较深刻的话题。随着你编程实力的提高,对问题的认识能力也会提高。写的程序的复杂度也会上来,到那个时候你可以再重新认识这些问题。下手过早可能没什么特别的意义,有些问题本来能用简单的办法来的,想的太多反而裹足不前了。
所有的设计都是为了降低复杂度,牢记这一点就可以了。有的时候简洁就是美。