工作小结----转眼2年了,该给自己总结一下了

         那就让我从头开始说起吧!

         2009年夏天的一个周六,独自一人来到了帝都,从西站出来就有种晕晕的感觉,我发现我找不到北了。之前同学跟我说的去哪哪找坐公交,先在已经完全用不上了,因为我根本不知道北在哪里。跟人打听,人家也是说往北一走就到了,我知道硬着头皮再问一句,请问哪边是北啊。脸涨的通红,也不敢看人家,觉得太TM丢人了。长这么大还没问过哪边是北的问题呢。在我的孜孜不倦的寻找下,公交站被我发现了。这下之前同学给的路线可以用上了,路线很简单,中间就倒了一次公交,但是时间是忒长了,足足坐了2个小时。这跟我从保定到北京的时间是惊人的一致,这无疑让我得出要回家就至少要4个小时,其中一半是用在了去车站的路上,很是不爽。

        同学住的是隔断房,俗称鸽子笼。刚开始尤其不适应,太憋屈了,压抑。幸好他的还是次卧,有个窗户还可以透透气。想想以后我过的也是这样的日子,就很是郁闷。第二天是周日,同学特意陪我去认了一下上班的路线,怕我周一上班迟到了。这次坐的是地铁--13号线,掐算了一下时间50分钟,做到了心中有数。后来验证了这是错误的,原来上班的时候,想进地铁站是很不容易的,要过一个兽栏进行排队才让进去。

        上班第一天,一个行政MM,跟我简单说了一下要先去海淀医院体检,一周后带着体检来正式上班。上午就把我的学位证、毕业证拿去复印了一下,签了一下劳动合同,就把自己卖这里了。从公司出来,就直奔海淀医院了,体检完毕还时间尚早,但我又不知道去哪里忘,顿时空落落的。随便找了个公交,就一顿乱坐,边走边看外面的景色,感觉是那样的陌生,这一切都与我无关,毫无感觉。最后天色差不多了,就想辙回家,结果我迷路了,因为我就记得的所住小区的名字,其他的就不知道了。凭小区的名字,路人也没能帮我的。那好,我就问哪边是北,感觉离家也不远了,就在北边了。我就一路向北。走走走走啊走,终于看到我熟悉的小区了,可是可是,中间隔着一个高速公路,又是隔离带,又是栏杆的我根本过不去,后来知道那就是八达岭高速。无奈继续沿着它走吧。还是没找到怎么过去,囧啊。后来我看一个站牌,上面有公交到龙泽,我就像抓住了最后一根稻草,心里极其高兴的等着这个公交的到来。结果上了那个公交,人家一转弯,龙泽就到了。原来我就一直在周围转悠。想想真是路痴啊。。。。

        话说接下来的几天,闲来无事就特想念女友和以前的老朋友。我就找到华电的一个IP电话厅疯狂的打电话,一唠就是一下午,得亏还算便宜啊。真是没出过门,来到一个陌生的地方,心里真是怪怪的。

       转眼到了上班的日子。行政MM带我到部门经理的座位上,简单简单交代了一下,我就被发给了一个项目经理(非常好的一个人)。这个项目组负责一个二维制图产品,面向机械行业的,目前已经在汽车、石油机械、各种中小企业得到广泛的应用。而且我们的产品也是公司其它几个产品的基础,比如CAPP、PLM、3D二维集成、PDM都要在我们的基础上才能做功能的开发。这天是2009年7月20号,算是我这辈子工作的起点吧。

     接下来的三个月是实习期。头2个星期,是简单的培训。培训以自学为主,组里给几个题目,自己完成就行了。按顺序是MFC的基本使用,UML各种图的使用,COM的基本使用,在项目开发环境中绘制一个三角形出来,并且要跟用户交互,可以指定位置,旋转角度等。由于项目是基于COM的,而且项目有自己的一套框架,初一看很是复杂,最后一个费了不少劲。

     说点题外话,面试时说是用C#开发,在学校我也是用的C#、VB.NET开发ASP.NET。原来没担心太大问题。可以一上班,直接用的就是C++,而且是上来就用,也没问会不会,而且还是COM用的很多,这个在学校我压根就没用过。学校期间我的C++也就是应付考试没问题,真在实际中使用还是差的太远。那一阵,心里一直冒汗。只有狂啃书了。读了COM本质论、COM原理心里才算安稳下来。

      由于我是机械专业的,就让我来负责标注这部分了。当我看到那部分源码时,都傻了。包括了20多种标注对象,每种对象的生成各有千秋啊。而且全是COM对象,那个时候我看着COM还是很眼晕的。接下来经历了几给我印象深刻的需求,才让我逐渐走上了程序员开发的路。

        DWG兼容,由于我们的标注对象是特有的,正常存成DWG会丢失。没有中文文档,只能在第三方库的Help文档里,API里去找线索。发现一点蛛丝马迹就用代码来验证一下,最后结合它提供的一套存储扩展数据的办法,把我们的对象中数据想办法都存了出去。但是我们的对象很多,得想一个办法,提供一个通用的办法来组织他们,这才让我体会到美妙的一句“封装”,在实际实现时是多么的费脑筋。为了提高保存的速度,用的全是裸指针,现在看来跟直接用智能指针没有明显区别。还出现了内存泄露的问题,如果全都用智能指针,就可以少改好多BUG了。

        终于版本发布了,我也放松了几天。可在接下来的新版中,老有打开保存DWG死机的问题,而且问题全出在标注。这可让我惊出了一身冷汗。后来经排查,是读取DWG扩展数据时出错了,空指针错误。原来有的图纸是上个版本的,扩展数据根本就没有呢还。而我们根据扩展数据的内容为空否来判断是不行的,第三方库只要一读为空就死机,根本就不给我们判断返回值的机会。经验不足啊!!!!后来加上了版本识别控制,解决了。可是在后来的版本中又出问题了。老版本读新版本保存的DWG会死机,原来是老版本读取时,通过了版本验证,但是它能是别的数据时有限的,读到了不该它读的字段。看是要好好彻底整理一下了。后来给出了版本控制和保存数据要一一匹配,通过哪个版本就只能识别相对应部分的数据。这样低版本读高版本,高版本读低版本,当前版本读当前版本就都没问题了,之前这个意识还是很薄弱的。

      关于代码版本控制。我们的产品出了按版本发布之外,还要为大客户,大企业提供定制版。为他们的需求做专门的功能。有的功能要放进主版本,发布后所用用户都能用。有的不能放进主版本。开始一段时间,我总是担心放错了,万一版本发布了,就无法修正错误了。目前是使用VSS工具,按不同版本分为不同的Branch,到时候根据需要,再把代码Merge到住Branch。但是我总感觉不流畅,正在学习使用GIT,不知道是不是好一点。

     关于C++和COM。目前所有对象都是COM对象,使用起来很是不方便,未体验到COM的好处。开发起来很是啰嗦,到处是智能指针,真不知道对效率的影响是怎么样的。私下认为,对象用C++类就行了。当为外部提高功能时,在把整个产品看做COM,提供接口,供其调用就行了。组内开发,大可不必处处都是COM对象,类对象足矣。这样还能摆脱COM那些个条条框框,自由发挥些C++的高级技术。:)

    关于读书。本科读的机械设计制造自动化,旁人看来这跟IT不搭边。窃内心也这么认为过,不过实际是很搭边的。机械制图早就不用手工了,全是软件。这些软件让谁来做?

计算机专业的?人家都玩高级活去了,什么互联网、移动互联、Android开发。那些又高级又挣钱的才能吸引他们。公司机械背景的大有人在啊,反而计算机的很少,来了也又走了。可是干的又是计算机的活,那就只能通过不断的读书学习来补充了。话说上学的时候不爱画图,爱鼓捣编码,对这部分又是兴趣又是工作需要。那就把我的读书体会说一下。

     学习C++语言---C++ Primer、深度探索C++对象模型、C++程序设计原理与实践(C++之父),C++程序设计语言(C++之父)绝对够用了

     学习VC,用的最多的就是MFC了吧。侯捷的MFC深入浅出、孙鑫的VC详解足矣。

     学习设计模式,四人帮的那本设计模式,设计模式沉思录、Header First设计模式,书就够用了,重在实践(自己还没做到)

    学习STL,这是很好的东东,不知道可惜了。C++标准程序库、C++设计新思维(泛型编程与设计模式之应用),泛型编程与STL,

   学习语言来历,编码的奥秘、编程卓越之道(一共2卷,读了很爽,明白了很多问题)

   学习算法,算法导论

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值