程序总体设计
2019-11-06 本文已影响0人
滴滴水不断
去掉课本,利用地铁上的时间想想设计
怎么开始
哪些功能可以聚在一起,成为小函数,大函数,内部函数,对外函数。如果他们还有共有的数据,是不是把数据和这些函数抽象成类。然后再往上,哪些放在一个源文件,哪些放在同一个模块。
层级概念
分的时候,也得有层级的概念。底层代码,实现基本功能,上层代码调用底层接口实现具体功能。底层代码的接口,变化要比较少,所以要求接口设计全。需求变化多,更多的是体现在上层代码,上层代码可以组合变化,以实现丰富的功能。
函数
能作为一个小功能的代码,都抽成函数,只是函数的级别可以选择:是内部小函数,还是可以让外部使用的接口函数。这个看功能,如果是一般的,那就可以作为接口函数,如果是比较特殊实现,得依赖上下文背景来理解的,那就放在内部。
然后给函数起易读又有意义的名字,用来组合成更高级的函数,从而阅读函数名字就可以理解高级函数的功能,而不用跳到子函数进去才理解。从而做到,脑海中只要记忆少量代码就能理解。
接口
接口的概念要贯穿始终。
模块的接口,对象的接口,文件的接口,函数的接口。暴露有用的接口,对外隐藏不必要的接口,从而易用。
面向接口编程,从而对外表现稳定。