一、单一职责原则
在设计程序结构之前,务必考虑代码的可复用性,也是最近对此深有感触,才决定写个设计模式的专栏来督促自己。
单一职责原则顾名思义,只可意会不可言传。在前不久的项目中用到了串口,我将这部分功能分为了三个层次:串口读写接口层、数据帧处理层、协议解析层。完事后还非常得意,觉得自己实在太棒了,分了三层比一些乱来的写的好多了。
但后来我开始对自己的代码感到恶心。原因是之前用到的串口是485,需要进行使能控制,而为了图方便把使能控制写到了串口接口层,并且在write函数里调用使能控制函数;以及因为是内部使用的程序,大概不会有什么改动,串口号和波特率也是写死的。
结果前不久要加个功能,要加个和232串口通信的。一想还要改代码,改固然简单,但之前的是和其他多个设备联调都是没有问题的,万一改完又出现奇奇怪怪的问题,那不是很麻烦吗,难不成又和其他设备再联调一遍,折腾自己也折腾别人。
所以在看到"单一职责原则"这几个字的时候,我是非常有感触的,虽然并不是知道一个原则就能写出好的代码,但重要的是首先要存在这个意识。