一个完美的项目需要很多完美的细节,然而没有经验的新手大多只能通过看别人写多的代码或者自己一遍一遍调试地试错来完善。本人最近根据最近开发的pyqt项目,总结出以下几点优化技巧
我的项目需求
制作一个传感器的上位机,要求实现数据的传输、记录、可视化、云端传输等功能,初期使用串口进行调试,也就是python中的serial库。
常见的问题
1.多线程
多线程一定要开,在刚开始进入界面的时候,要给检测串口一个独立的线程,保证软件的快速启动,不然你就要等待大概5秒左右的时间软件才会启动;在点击检测串口的时候同样要开多线程,保证程序线程的流畅。
2.数据接收
(1)接收的完整度
接受数据的时候可能会产生一些异常数据,拿我的数据举例子,我接受到的数据标准长度为51,所以可以判断如果不为51的数据长度,则pass掉这组数据,以此保证数据的准确性。
(2)接收完整度的比例
我通过设置了一个定时的QTimer来接收数据,但是我发现,如果QTimer定时运行的周期过快,数据传输完整的比例就会下降,所以把接受数组的QTimer设置为20ms最为合适。
3.信息聚集传输
在数据传输的时候,常常需要累计一堆数据之后再进行传输,这个时候需要创建一个消息中间件,例如一个container容器,将数据放进一个数组中,最后在集体处理。
下图为一个消息中间件的生命周期
4.Git
大一点的项目一定要放到git上面管理,或者用其他的管理工具。每天写完代码push上去,以后出问题了可以来找历史记录!
不定期更新…