接口最小化原则

接口最小化是软件设计的基本原则之一,最小化接口容易被理解和使用。封装内部实现细节,只暴露最小的接口,会让系统变得简单明了,在一定程度上降低了系统的 复杂度。

函数中的代码尺寸

一个函数完成一个具体的功能,一般来说,一个函数中的代码最好不要超过600 行 左右,越少越好,最好的函数一般在 100 行以内,300 行左右的函数就差不多了。有证据表明,一个函数中的代码如果超过 500 行,就会有和别的函数相同或是相近的代码,也就是说,就可以再写另一个函数。

另外,函数一般是完成一个特定的功能,千万忌讳在一个函数中做许多件不同的事。函数的功能越单一越好,一方面有利于函数的易读性,另一方面更有利于代码的维护和重用,功能越单一表示这个函数就越可能给更多的程序提供服务,也就是说共性就越多。

虽然函数的调用会有一定的开销,但比起软件后期维护来说,增加一些运行时的开销而换来更好的可维护性和代码重用性,是很值得的一件事。

函数粒度是否保持适度大小

如果一个函数的代码很多,结构就会非常混乱,代码清晰度就很差,有时候甚至完全搞不清楚代码的开始或者结束的位置在哪里。所以需要保持一个函数的行数的大小,行数太少,则会消减或者浪费函数的效率;行数太多,容易导致结构的混乱。因此需要保持函数的粒度大小,建议一个函数最好不要超过50行。

需求简述

Write Once, Debug Everywhere。据说这是流传于JAVA程序员中间的一句笑话,Sun公司用 来形容JAVA的跨平台性的原话是Write once, run anywhere(WORA) 。后者是理想的,前者才是现实。如果我们的双向链表可以到处运行,那就太好了。Write once, run anywhere(WORA)是我们的目标,不过我们先要面对现实,回到双向链表上,请读者思考下 列问题: