代码编纂心得

代码编写心得

今天把聊天系统的代码分析了一下,发现代码耦合度很高。各个类相互调用其中的方法,A类调用B类的方法,B类调用C类的方法,又发现C类还调用了A类的方法。如此带来的问题出现了,要想修改其中一个类,就得修改使用了该类的类,以致整个代码都需要修改,使人头昏脑胀。这样的高耦合的代码,可扩展性低,不可能做到增加一个新的功能而只需修改少量代码。我们不能只专注于代码本身,而是应该跳出代码,去思考和设计代码的结构。理想的模式是一个类去调用其他的各个类,增加一个新的功能时,只需增加新的类,原来的类也不用做太大修改。

设计代码结构的时候,可以考虑采用监听器模型。比如一个简单的聊天客户端程序,我们把通信模块和界面分开,自己定义一个监听接口,通过这个监听接口将他们联系起来。通信模块就相当于一个事件源,当接收到消息时,即事件发生,界面监听到事件源,马上做出相应的处理,如显示接收到的聊天消息。这样通过接口将通信层和显示层分离,降低了它们的耦合度,便于代码的修改和功能的扩充。

在把简单的聊天系统初步完成后,发现设计文档真的很重要。之前写的程序,因为没有一个系统的规范的设计文档,使得写代码没有指导和方向,导致客户端和服务器端的消息格式不一致,或者通信流程不协调。要修改这样的代码更是难事,没有设计文档作为参照标准,很容易造成修改后还是会出现同样的问题。因为之前花了较多的时间把文档写的比较规范,然后按照文档去落实代码,就会发现敲代码只是顺水推舟的事情。

     现在我们编写的都是小程序,似乎都用不着设计文档,但是我们以后面临的必然是编写较大的程序,设计文档作为程序的说明书和编程指导,肯定会凸显其重要性。我们应该渐渐地养成先写文档,把程序中的重要问题和关键点考虑好。在实际中按照文档实施的时候,会发现当初没有考虑到的问题,可以对文档进行修订,使文档不断系统化和规范化。