zoukankan      html  css  js  c++  java
  • IT餐馆—第十回 潜伏

    最近一段时间,老刘在MSN上的状态一直是脱机。雨辰想可能是老刘到了新公司事情比较多,没有时间或不方便白天联系。晚上八点多,雨辰到了家打开笔记本连上网,就看老刘终于在线上了。雨辰就发条信息问侯了一下最近的情况。

     

    老刘回复说:“主要是最近公司的产品有大的调整,经常开会。而你是知道我的做事方式的,就是‘高调做事,低调做人’。平时工作上如果没有八九成的把握是决不会动手做的,而一旦想清楚了动手就要做完做好,决不能将来让别人给我擦屁股。”

     

    雨辰笑了笑:“怎么会不知道呢!我一直把你这种做事态度当成我的榜样呢。怎么?出什么事了吗?”

     

    老刘接着回复道:“没出什么事,我到这家公司以来,最近一直在忙于阅读产品中的源代码,以及解决其中的一些BUG。有几次领导让我在会上发言,让我谈谈对产品的想法。因为我当时对产品的特性和设计思路还不是很了解,所以我就找些借口故意推托了。我想因为这个原因造成领导对我能力的‘怀疑’,其实我是不想在没完全摸透产品功能特性、代码的情况下‘乱发言’。因为如果说错了的话,一方面会干扰大家的正常思路,一方面也会让同事认为我太把自己当回事,把自己当成“救世主”了。因此最近就一直没在线上,平时和晚上回家都在看代码和文档。”

     

    雨辰回复道:“原来这么回事,我说怎么最近线上老看不到你,原来你个老家伙一直在公司潜伏呢,伺机而动。”

     

    老刘发了个笑脸表情,回复说:“瞧你把我说成什么人了。我又不是余则成。”(注: 余则成--电视剧《潜伏》男主角)

     

    老刘接着又回复说:“老板两周前开会,是要在公司产品的数据库支持上从原来的MYSQL一种,改成同时支持OracleMYSQLMSSQL三种。因为半个月前我就把产品的数据访问层给通读了两遍,所以这次我在会上把以前在上一家公司中所使用的解决方案拿了出来。也就是我以前跟你说过的那种方案。”

     

    雨辰忽然想起来三年前老刘在网上给自己转发的一篇文章,讨论如何使用Abstract Factory(抽象工厂)模式支持异构数据库访问的文章,后来老刘就在自己的产品中使用了它,效果还是很理想的。

     

    雨辰回复说:“是抽象工厂吗?”

     

    老刘回复说:“恭喜你,答对了。呵呵,就是它,所以这回又要麻烦它‘老将出马’了。”

     

    雨辰忽然想到了一个问题,就回复说:“其实现在NET2.0中也提供了与那篇文章相似的设计接口DbProviderFactory,位于System.Data.dll中。我之前写过一篇文章发到了cnblogs上,不知你看过没有。”

     

    老刘回复说:“你老兄的文章我基本上都看了,包括那篇。其实因为我们产品的用户他们有些平台还是基于NET1.0的,所以希望我们的产品也能在1.0上运行稳定,我想想只能使用‘条件编译’的方式来区别这两种平台下的代码了,然后在编译时生成NET平台下的dll,这样即节约了维护成本,又让相似的代码放在相同的类中。在会上我把我的想法跟大家一沟通,大家感觉不错,就由我来亲自做这样事,同时还给我调拨了一个程序员打下手儿。”

     

    雨辰笑着回复道:“没想到你刚潜伏没多长时间就有下属了,官升的挺快,呵呵。”

     

    老刘回复说:“哪里呀,都是给老板打工。我还是那句话‘拿人钱财,与人消灾’。”

     

    雨辰说:“结果你就一直忙着这事呀?!,把兄弟们都忘了吧。”

     

    老刘回复说:“哪能呀,你们是我老刘最在乎的,够肉麻的了吧。那个活在昨天晚上就做完了,现在已提交到测试部门测试去了,如果问题不大,结果这两天就出来。主要是最近在潜心看产品代码是又发现了问题。”

     

    雨辰看老刘这么说,来了兴趣:“什么问题,说来听听。”

     

    老刘:“主要是以前产品中搞了太多的类,动不动就‘new object()’对象那种,后来我的本地搭建测试环境时发现,在执行上有很多方法中执行的代码基本相同,所以我在考虑对这部分代码提取出来并重构一下,同时对原来的new对象方式转成使用static method形式,这种做法相信你老兄心知肚明,主要是想提升产品的运行速度和效率。”

     

    雨辰笑了笑,回复说:“你说的这个问题之前在我们产品中也有发生,好在最终我们把速度作为产品的一项重要指标,才在代码中‘肆意’使用static, 当然效果也是明显的,它要比Singleton模式要更容易被开发者所接受,只不过对于那些面向对象的狂热支持者会有微词。”

     

    老刘:“原来你也这么想呀,那我就心里有底了,其实这就是一个‘平衡’的问题。没有一种技术是所有人都叫好,放在四海皆准的。只要它能解决你的问题,那这个技术对于你就是‘最好’的技术。”

     

    雨辰说:“不过对于static属性变量来说,你知道它是在进程中唯一吧?”。

     

    老刘:“这个清楚,它存在一个“共享资源”被线程并发访问的问题了。之前在前一家公司的产品中对并发问题就也研究过了,我们当时比较常用的是使用LOCK,以及信号量,呵呵。”

     

    雨辰说:“看来你身经百战了,咱们几个人中以你的技术最强,以后要向你多请教了。”

     

    老刘:“你别逗了,我算是什么呀,一个普遍开发者。没你那么招摇,呵呵。”

     

    雨辰说:“看来这回你又要再忙一阵子了。到时看你不在线了的话,我就跟老杜,郑伟说你去‘躲猫猫’了。”


    老刘回复说:“你这家伙,呵呵。我要哄孩子去了,先不聊了,有空去喝两盅。”

     

    雨辰说:“好吧,88

     

    想着老刘又去当‘居家好男人’去了,以里也是说不出的羡慕,不知何时自己也能有这一天。

     

    不过雨辰又想起了以前在网上看过的一篇叫:“唐骏的七大潜规则的文章”,至今仍记得里面的第一条规则就是“低调进入”,写的是他当时刚进盛大时的状态。并说这种方式“赢得了盛大管理团队和普通员工的认同”。现在看来,人家老刘算是把职场潜规则吃透了,能把心‘沉’下来,自己在这方面还是欠火候呀!

         原文链接:http://www.cnblogs.com/daizhj/archive/2009/08/07/1541366.html


         作者: daizhj,LaoD,代震军

         Tags: IT餐馆,潜伏

         网址: http://daizhj.cnblogs.com/

  • 相关阅读:
    Sql中CHARINDEX用法
    Ubuntu 18.04 配置ibus中文拼音输入法(超简单)
    win10使用教程(电脑windows系统基础使用教程快速入门手册图文详解)
    angularjs中$scope是什么意思
    angularjs中$scope是什么意思?
    005列表标签
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/daizhj/p/1541366.html
Copyright © 2011-2022 走看看