华三一年

    想想,我从学校出来已经工作有一年了,平时也没有做啥总结,但是今天恰逢深圳研究所举办民主生活会,我就乘此机会思索、琢磨这事儿,问自己到底在这一年做过什么,收获了什么。说实话,我当时发言挺紧张,毕竟是新员工,不知道自己所说的是否适合场合,是否给大家说明白了自己的最想表达意思。鉴于以上种种担心和顾虑,我晚上回家后,就用文字将自己今天所想所感记录下来,以便审视自己,提升自己,如果可以的话,希望与大家一起共勉,共同进步。

       首先,是关于个人的工作和经历方面。在大二暑假,我就加入了电信系的 Dian 团队,开始接触真实的项目,第一个项目是嵌入式方向的静载仪无线传输系统,第二个项目就是华三北研项目 ALG, 第三个项目就是华三深研项目 NAS 。可以这么说,我在项目经验上,比一般的应届生稍稍丰富一点。

       我觉得,在整个项目,有两个阶段最锻炼人,一是设计,二是测试。为什么这么说?就拿设计来说,如果一个项目总体设计不好,或者说模块划分的不好,或者函数接口易用性比较差,或者数据结构不易扩展,在开发阶段就会增加代码复杂度;在维护阶段,就会增加维护人员的压力。所以说,一个质量好的的项目起源于好的设计。如何衡量一个项目质量的好坏呢?回答是测试,当然最终还需要接受市场的考验,因为客户运行环境的复杂性远超过我们在实验室运行环境的复杂性。测试阶段,有两方面工作要做:一是尽量发现问题,二是能够解决已经发现了的问题而不引人新的问题。测试就是要验证当初的设计是否存在纰漏和不足之处。我猜,大家可能会有这样的心态:项目设计和编码都是我们自己写的,现在又要去找自己曾经很负责地编写了的代码的 BUG ,岂不是自己打自己的嘴嘛?其实,事实不是这样的,一般人的思维有局限,不可能一次性把事情做得完美。再说,事物是发展变化的,人对事物的认识是逐步加深的。就拿我做 NAS 的经历来说吧,两年前就不知道 NAS 为何物,一年前就知道 NAS 项目是利用开源软件实现文件夹的共享服务,现在对 NAS 理解就更深些了,不仅仅是停留在对开源软件的配置文件的管理上啦。所以,随着你对本项目的认识的提高,你就会发现项目的存在以前没有考虑的问题。这个时候,你就需要想尽办法,来解决这个难题,但是又影响当初的设计,并且要求变动尽量少。所以说,这两个阶段很锻炼人的能力,设计需要考虑项目的前瞻性,测试则需要考虑项目的后瞻性,因为,我们不可能在测试阶段推翻以前所做的工作。

       我觉得,在编码时,大家都为给文件头,函数头签上自己的大名。这意味着什么?它不仅代表自己的成就,更带着自己的责任。

       我觉得,整个项目最辛苦的阶段是 UT ,为什么?因为 UT 的工作又细致又繁琐。工作量往往都比预期的要大。我用过三个 UT 工具。最方便的是北研的镜像测试工具 (Mirror Test Tools MTT) 是应用镜象测试技术理论,将脚本 (python) 化的变量控制与桩驱动应用于单元测试与集成测试,以达到高效率高质量的支撑白盒测试的目的,为公司使用 C 语言的产品提供通用的调测服务。接着是 CUNIT ,是应用在 Linux 平台下的一个轻型的 C 语言单元测试框架 , 比较适合深研,可以在真实环境下完成 UT 工作。最后是 C++Test ,是一款在 windows 环境下运行的单元测试工具,而我们在 linux 系统下开发,就需要它模拟 Linux 环境。它号称可以生成 80% UT 代码,其实都是需要我们自己编写,最大的缺点就是性能超级慢。最后,说说我做 UT 的体会,做 UT 就是需要学会如何打桩,其它都是细致活儿。

       虽说我入职只有一年,但是对公司的流程也比较了解。因为我参加过北研的项目,走过北研的 CMM 流程。而深研的流程也是执行 CMM 流程不久。我也跟很多人一样,不知道流程中的每一步的意义,只知道项目在审计中会扣分的,所以我必须谨慎。审计分高,还可以得到保利电影票,何乐而不为呢?不过,说说对 CMM 的最深体会,就像张建所说的一样,北研的 CMM 流程现在就是一本薄书,没有深研这么繁琐;而深研的 CMM 流程现在就是一本厚书,因为是推行 CMM 流程的最初阶段,不敢轻易忽略某些细节,比如文档的细节问题。因为我觉得项目最重要的交付件是代码。

       其次,是关于软件平台方面。既然大家都说到平台,那我也说说自己的感悟。去年,我在杭州参加文化培训的时候,尤为干部部的同志在分析案例时,特别提到我们存储产品线在市场上较易暴露问题时,就问本次培训是否有深研的新员工,我举了双手,心里特别不是滋味,心想我们深研的产品有那么差劲吗?后来,我来深圳,去年 8-12 个月我干劲十足,真的希望能把我做的事情能做得更好些。现在,很多人反应平台的不足或者 GUI 的框架种种的不好,这是好事,这说明大家都看到这些问题。有了这些问题,以后在系统架构之时或者说开发新的项目之时,就会考虑这些问题,让后来的新员工感觉软件平台带来的好处。我用过北研的 COMWARE 平台,它们确实好用,版本已经是 5.0 了,是当初华为和 3COM 公司合资成立华三时就已经是 COMWARE2.0 了,而我们 STORWARE 是三年前才开始做起的,是我们公司完全独立开发的平台,是从零开始,所以说,这是深研做了一件了不起的事。现在, STORWARE 平台存在不足,对我们新员工来说,既是机遇也是挑战。总的来说,平台在进步,软件质量在提高,这些都跟大家所付出的努力分不开。

       再次,张建提到,维护组压力大,有些代码结构复杂,可读性差,接口不易扩展等。丁峰祥等提到,新员工是否需要一进入公司就参加项目,做项目经验不足等。确实,大部分开发人员包括我,在开发时就只关注需求是否实现,没有考虑太多非功能性的问题。我觉得,维护组成员需要整理相关难以维护的案例,做成 PPT ,开设培训课,面向项目开发组成员。不然,没有参加过维护的开发人员或新员工很难提交出维护人员所要求的易维护的好代码。

    我认为,个人能力提高来之两方面,一是导师或教师直接传授经验;二是通过自己的努力,比如看书,实践,做项目,来提升自己。不管这么样,有些经验上的东西或者课本上的知识,只有经历过才会体会深刻。比如说, int a,b c a=b*c; 这段代码,很多人都会认为它没有问题,其实 a 会越界的。这个大家都可能在书上看到,但是就是没有在实践中注意这个问题,就会给项目带来 bug

       最后,说说自己的体会,与大家共勉:

       1.   对职业负责、对目标负责,对自己负责

2.       学历代表过去、能力代表现在、学习力代表未来。

3.       心态有多开放,视野就有多开阔 .

4.       大家好,才是真的好

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值