【编程思维】临近实施 WPF 下拉框闪烁问题!!
私以为架构是业务开发的发展历史,顺应大方向而生,再为贴切时刻的用户需求,持续微改动。
我本以为了解这个软件的架构没甚意思,加快的开发速度不能过渡到下一个别的软件去;
却不知以小窥大,关键还是计算机思维、编程意识,设计结构。
这个月发生了一件事,当时临近实施,却卡在了一个bug上。
文本框内绑定员工拾取器(员工拾取器是公司开发的,类似于下拉列表),
逻辑默认打开“个人常用”内容的职员列表,
而当时的bug是:
当选中其他(非个人常用)职员列表,拾取器闪烁并且永远跳转回“个人常用”当中;
在文本框内输入内容拾取器就会疯狂闪烁,形容疯癫,仿佛中了毒。
我初以为是拾取器配置不对,但对象监控看不出什么问题,参考别的正确使用拾取器,看不出区别;
这就很难,于是找了公司的老员工H哥帮我调试,他只能告诉我,拾取器闪烁是因为失焦再聚焦,重新触发了打开;
至于为什么会突然失焦,调试不出来。改了前端样式,也不管用。
实施紧迫,我把周遭的程序员都问了下,后来YM姐看这情况,怀疑是多次绑定了(两个或多个拾取器在抢夺资源),
她断点了我的绑定方法,发现进了两次——文本框绑定了两次拾取器。
真相大白,原来架构提供的自定义Presenter没有调绑定接口,但是CompositeViewPresenter为了简化代码减少工作量,已经实现了一些常规操作,
当时为了偷懒我用的就是CompositeViewPresenter,但却在初始化的时候再(习惯性)手写调了一次控件绑定…导致二次绑定。
这个bug烦了我几个小时又几个小时,让YM姐破解了,就很棒,很程序员。
就这个问题而言,在我看来只有从思维上走能解,这次bug的现象我没看出本质问题来,很愧疚,特记此事,以作警醒。