做了两年C/C++相关的工作,感觉很多东西学,然后又忘了,很多东西用了,但是又扔了。 随手记录一些做为程序猿的感悟吧!算是对花在程序中的时间的一种祭奠。
第一篇入职之初
调试一个别人写好的项目,并修改该项目。
刚进入公司领导给我分配的一个活是调试一个前辈写的项目,该项目是一个上位机软件,主要实现的功能是发送控制指令与另一家公司的下位机设备进行通信。通信过程中用的是TCP/IP。接受该项目最大的难度是看懂做这个软件的前辈要表达的思想,其次是与做下位机软件的公司和客户进行沟通。所幸该前辈在工作交接的时候留下软件的协议和方案。
我从数据的走向开始一步步的跟代码,一个指令的发送与结果的返回进行记录,一个采集数据的分析与记录都是我关注的重点。看懂代码领会思想是第一步,接下来是改代码。在修改过程中遇到一个很棘手的问题就是以前的前辈在进行数据整理的时候,用同一个内存空间对数据进行存储和处理,导致后面采集上来与前面采集的数据混在一起(简单点说就是造成了数据胀)。导致数据分析出来的结果不正常。解决思路是利用一个队列存储每次采集数据,为每次采集的数据在堆上分配一个内存空间,并把该空间的首地址存入队列中,然后启动一个线程从队列中取数据,然后进行分析,当然堆上的空间用完后也不能忘了释放空间。
总结该次任务的经验是第一必须的对自己所做业务熟练的掌握,不掌握好了就是不专业,不专业就挨欺负;第二专业知识过硬,别人提出来的问题必须快速给出解决方案,或者想到相应的后果;第三保护好自己公司的利益(就是保护自己),在合作过程中是对方要完成的功能即使自己有能力解决也要和对方说明,不然出现问题由谁担责又是一个纠结的问题。
这是个人第一次自己独立的调试一个项目遇到的问题和一些收获,其中激动与挫败就不多说了。