国人开始抢购碘盐了,作为一个稍有思考能力的人,就会认为这是个神奇的国度,盐这个商品,在不缺货的情况下也能被疯抢。其实,这个现象不是中国特色的,最先还是由美帝国主义总结的理论。美其名曰:破窗效应。

 

     什么是破窗效应?

 

    

    一扇窗户被打破,如果没有修复,将会导致更多的窗户被打破,甚至整栋楼被拆毁。由美国政治学家威尔逊和犯罪学家凯琳观察总结的“破窗理论”指出环境可以对一个人产生强烈的暗示性和诱导性。

    当股票暴跌了,大家都抛售股票;当号称大豆缺货了,就开始豆你玩了;最有意思的一个故事是,瑞典某小银行的屋檐建的适合躲雨,结果一次下雨,跑到下面躲雨的人太多,大家还以为该银行要破产了,就疯狂的取钱,结果该银行还真的被取钱取的破产了。

    这下,我要用“不明真相”四个字来形容各类破窗效应的群体事件。在IT界,这样的事情其实也不少。

 

     业务:大家都在被云,被团,被微博

 

    各大厂商要是不带和cloud有关的产品,都不好意思出门参加会议。中国移动用hadoop搭建一个云平台,看看里面的内容,就感觉是一个皇帝的新装。因为潮流,所以大家都做,不做没有面子。

    90年代末的互联网,2005年开始的视频,2008年的云计算,2010年的团购……计算机世界的业务还真的如同女人的衣服,大家都跟着潮。

 

     架构:我的离子炮很牛B

 

    就是几个页面的小网站,用了spring,struts,ibatis,甚至还把nuts也搞上,美其名曰,我们需要……需要你妹!您是不是搞JEE忘记了有servlet,本来1天都可以搞定的,非要2天去研究,1天半去搞定。

    拓展性怎么办?

    我很想告诉大家的是90%多的互联网产品不需要拓展性,因为做出来根本没人会关注。后来就慢慢的淡下来了,再后来就消亡了。看到别人用的爽,你也非要在项目中实战一把。您就不能上班时间去看优酷么?

    前2年SOA火了,我们的架构是基于***,很好,很强大,那么,请问,***有哪几个分支,你们是基于那种类型的***的呢?恩,您的炮炸膛了。

 

     API:你不知道我知道你不知道

 

   private  Lock lock = new ReentrantLock();

   try{

         lock.lockInterruptibly()

         ……//业务处理

   }catch(InterruptedException e){

         logger.error(e);

  }

    看到这段代码,当时哥就抑郁了,用了lockInterruptibly为什么不优先处理Exception,反而跑过去悠闲的写自己的业务逻辑去了。系 统中很多这样的代码,后来我问了下,原来,部门的某牛人写错了,所以大家跟着都这样写,很多人不问为什么要这样显示加锁,就是跟风去用下。

    还有就是ArrayList在系统中几乎应用到所有场景,有时候LinkedList更适合的场景,依然在被ArrayList。HashMap的命运也 是这样的,当由于并发使用HashMap来玩锁的,我只能表示低调的路过了。是的,大家都这样玩,您为什么要搞特殊呢?

    Collections.synchronizedList真的能够把同步搞的万事大吉?不要等着被搞的抑郁了,才去看文档。因为自以为是,我也被系统耍过很多次,对API,不要简单的就从了别人的思路。

    走自己的路,不要去“抢购碘盐”。Kaopuability很好滴!