实现功能:刷卡后,将信息显示到Led屏中
看着这个功能很简单,但是在实际项目中却反复修改。
第一次:我一个同事调用第三方接口,刷卡后,打开Led端口,发送数据,然后不关闭返回(关闭Led屏就不显示)。
使用两天后,由于发现长时间显示一样的信息而不发生改变导致Led灯管过热,损害。
第二次:对Led的的数据发送进行调整。每次发送两个节目,第二节目时间设置长一点,动画显示一些广告信息,这样led屏中的灯管不至于过热。调试好后,将程序更新,可是发现每次发送数据,屏幕会显示上次刷卡数据之后,才显示此次刷卡数据。
第三次:对Led的类进行重构,然后发现每次打开Led端口,就相当于重新上电。于是在Led类中加一个静态属性,这样保证只打开一次。效果不错,问题解决,但是将程序更新上之后,第二天一个意外,导致程序为报错,自动退出。
第四次:经多次调试,发现原来第三方的厂家给的dll文件,在发送数据过程中,通讯异常,导致dll发生系统级错误。于是咨询第三方厂家,也没有问出结果。怎么办那?
一方面要正常刷卡,另一方面必须显示。最后将Led发送数据剥离出来,单独做了一个程序,实时从一个文件中取数据,二刷卡后直接放到那个文件中。这样就解决了系统异常,导致直接退出的问题。
这个小小的功能,反复四次才算解决。
其实我们要抓住问题的本质,才能解决问题。解决问题并非一条路,我们可以发挥自己的想象。