前面我提到过,我最近要做一个上位机,是个串口助手。
用BCB作,BCB是什么并不重要,重要的是在我刚听到要用这个来做上位机时,我和你一样,根本不知道它是什么。
重点还在于,因此我是用一个完全陌生的工具,用一门我并不熟悉的语言C++,再加上,我有一个两周为期的deadline,因此,当时我已经看到在我面前,摆着一个山一样大的鸭梨了。
除了前面一个的“坦白说”,上班时间外加晚上的加班时间做事都不靠谱以外,还缺乏一些技术性和常识性的处理手法。
这个月,中秋加国庆,恰好假期多,可我遇到了deadline,其实却是更加紧张,更加苦不堪言,而且我的笔记本还报销了,嗯.....用来买笔记本的信用卡今天刚到,他大爷的~~~
正是青黄不接。
这些破事的苦逼就不说了。
接着说做这个串口助手的事情。
在我对着教程画完串口助手的界面,并基本了解了所用到的一些控件以后,遇到一个挺纠结的事情。
老板曾经发给我一个串口类,我看了一遍,发现也没多新鲜,还是用到windows那个串口API。而其实我没有告诉他的是,此前我在命令行下用过这套API做过串口程序,就好像我其实没告诉他,类和C++并不像他想象的那样我一点都不懂一样~~
可是正当我刚开始要用这个类的时候,我发现头文件搞不见了(当然后来我还发现,其中一个子类老板也忘了给我代码)。
我心里一阵不爽,纠结。
一来,我这阵子挨K挨得有点怕了。
二来,我挨K也挨得有点恼火,没想到自己混成这个样子,在他眼里这么不堪。于是把心一横,老子又不是没有做过串口......我就决定自己调那个API的串口程序,我还想告诉他,我并不想他想象的那样不懂类和对象........
于是,中秋回来后,我白干了两天多,终于在第二天下班的时候,其实后来才知道不是串口本身的问题,是混杂在其它问题里,但是就是搞不定。
下班的时候,老板过来了,我本来想溜,可是想想,算了,还得加班呢,而且,怎么感觉我跟耗子见到猫一样,而且,我不应该躲避询问进度 和 交流,沟通......
所以我硬着头皮等着老板过来,他果然过来了,然后就是一阵子叹气,最后还说你总是误解我要让你去做的事.......
他的核心观点其实很简单:我并不是要你去研究如何实现串口,只是要你把现成的东西用起来.......
那天我听了这话,其实挺郁闷,后来想想其实他说得有道理。
而且,再这么搞下去,难道我又打算最后灰溜溜地说搞不定?
那天晚上,我把收到的完整的类重新整理了一遍,并且把它加进我原来的程序,只因为还没理解怎么安装串口监听以及这个类还有一部分没齐整,所以晚上弄到八九点就走了。
不过第二天回来,拿齐东西后,加紧弄啊弄啊,终于在中午吃饭以前,把收发跑了起来~~~
这是我这一周里第一次松了一口气。
接下来的时间里,其实也遇到很多麻烦,因为我发现,和单片机主要控制逻辑流程不一样,对于上位机,更多的时间是在处理文本和文本格式之间的转换,这是我陌生的。虽然学C的时候,我花了不少时间在这里,基础还算可以。
然后,接下去,按照我本来的毛病,我肯定是要想怎么分模块,结构该怎样怎样......
可是到了这个时候我基本只好先放下了。后来想想,这个其实只需要几天时间就能做完的小项目,确实不需要太多的什么设计结构和框架。
此外,我还启用了已经停止很久的番茄工作法控制时间和进度,追踪实现过程.......
整个过程并非很顺利,还是非常磕磕绊绊,当然还有颓废的时候。
不过,最终我也算是基本完成任务,尽管老板一看,说我的代码结构是一团糟,我心说我根本就没管过结构,我只想着怎么在这几天内赶出来而已。
但是,这个过程里,最重要的地方就是,在许多产生以下疑问时,我没有死性不改纠缠下去,而是继续查看我的计划清单,继续回到任务本身。
“这个地方是不是应该想想怎么封装成一个类呢?”
“我去,这个VCL组件的这个转换怎么恐怖,是不是要彻底测试一下呢?”
........
总结起来,坚持时间管理和进度,最重要的一点是:你时刻都要做有利于你完成计划的事情,而不能过多去处理意外遇到的事情,包括一些看起来很不错的想法。 |