在设计程序代码(函数/方法)时,函数/方法的接口就是其外部表现,内部代码的组织就是其内部结构。
如果忽视了内部结构的复杂性和坚固性需求,就会仅凭IN与OUT的差异组织代码。
如果认识到内部结构还要考虑坚固性和美感,那么在组织算法的内部代码时,就要考虑:
● 是否需要契约检查、防御编程以实现可靠性。
● 是否优化临时数据结构以提高代码性能。
● 是否需要额外代码以保证安全性。
● 是否需要记录日志以提高可测试性。
如果忽视了外部表现的抽象和简洁性需求,就会把程序代码写成现代语言版的汇编程序,例如大量使用全局变量和数据共享。
如果认识到外部表现需要简洁和抽象,就会更好地进行算法分解,更准确地定义函数/方法接口,会更恰当地使用块状结构,会更小心地管理全局变量和数据共享。