QT 滥用信号槽

2021/11/10 23:16:43

本文主要是介绍QT 滥用信号槽,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

背景

最近公司培训写项目用的QT,一直觉得QT的信号槽是个好东西,编程效率很高。

情况

导致我一直盲目的使用信号槽。也不是不知道信号槽的执行效率相比直接调用而言低很多(10倍左右),只是觉得又不是特殊环境,就一直滥用信号槽,其实很多地方,直接调用就行,但是脑子已经僵化,闭着眼就用上信号槽了。

后续

后来在代码互审的时候,对方提醒了我一句,说我信号槽用的太多了,信号槽应该是用于两个互相关系不大(耦合低)的类之间。我当时还是没当回事,还说了句用信号槽可以避免存储对应的变量来搪塞过去。

问题出现

如今还是这个项目,只不过现在这个功能需要的精度比较高,而且是在短时间内大量重复执行,信号槽低效率一下子就暴露出来了,导致误差越来越大。我看了下代码,发现其实完全可以直接调用,也并不是要专门储存对应的变量,或者其实已经储存了。

反思

一下子让我感到汗颜,坐立难安。我没想到我的思想已经如此懒惰。前期偷下的懒,后期都是要还的,而且是百倍奉还。无论是架构设计,还是逻辑处理,都应尽早想全、做全,万万不可抱着“暂时就这样用着吧”、“后面再有额外需要,再抽出来吧”、“这里有点问题,暂时简单处理下,后面再堆逻辑的时候再处理”等等这种想法去做任何事。以此文章,警惕自己。



这篇关于QT 滥用信号槽的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程