JAVA WEB 开发之牛人与能人

来源:互联网 发布:淘宝秒刷销量 编辑:程序博客网 时间:2024/05/15 03:02

JAVA WEB 开发之牛人与能人

引子
    利润是一个企业的命根子。开源也好,节流也罢,都是为企业赢得更多的利润。当一个项目开发合同签定的时候,“开源”的工作已经做完了,剩下的,就是在开发阶段如何“节流”了。而在开发阶段,却有两种不同的“牛人”和“能人”的做法。

牛人与能人
    比方说做一个列表缓存。牛人看到需求,马上就动用设计模式了,设计单列模式,HashMap做存储,遍历的方式匹配来模拟SQL语句,定时刷新……。当做到一半的时候,忽然觉得有的表太大了,不适合全部放内存刷新,结果继续做LRU。最后连编写带调试,两天时候过去了,几百行的代码,五六个JAVA类见证了开发的结果。周围水平一般的同事更新CVS发现突然多了一大堆类,编写工整,设计合理,忽然觉得大牛,似乎能快速写出LRU的都属于了牛人行列。
    能人看到了,首先权衡系统中能使用的结构,本身Hibernate就支持EhCache,而EhCache针对不同的表都能够配上相应的二级缓存策略,恰好EhCache本身就支持了FIFO、LFU、LRU三种常用的缓存策略。于是在HBM里定义开启缓存,在ehcache里设置访问方式,半天不到就弄好了。CVS里也几乎没更新,继续去做其它的设计。

    这类“牛人”还仅算“小牛”,“大牛”的甚至自己编写连接池,XML对象映射器,也见过“牛魔王”级别的自己来编写MVC。但是对企业来说呢?花一大堆时间成本还不算,还要带领下属做相关开发时跟着一齐钻进他个人设计的胡同里。没有相关文档,JAVADOC API不全。这种“牛人”虽然“牛”,但是“牛”错了地方,“牛”苦了企业。更有害者,将企业开发出来的产品绑死到他个人的开发的功能框架里,无法升级,只有他个人才知道如何维护,也成为企业继续维护不可缺少的关键“人才”。
    而做一个能人呢?对相关的开源要充分的理解,遇到了问题,借助成熟的开源来快速实现需要的功能,80%的使用能借助网络、开源文档来找到使用的方式,再20%在于个人理解及调用方式的设计。开发迅速,缩短工期,留更多的时间去自由支配。产品早日上线,达到企业资金节流的目的,干活轻松,老板也开心。

能人要“牛”
    虽然说灵活掌握开源API就可以做能人了,但是仅此还不够,JAVA开源都是一些牛人写的,这些写开源的牛人所做的工作,与之前所说“牛人”工作性质一样,只不过是,他们所有的时间都用来去发明一辆车的最好轮子去了。但是并不是每个轮子都没有问题的,一旦出了问题,一旦与其它功能结合需要深入到内部机制,就需要JAVA能力够“牛”才能看的懂,才能找到修正的方法。因此个人JAVA编程能力的提高仍然是非常重要的。

结论
    一个WEB开发职员的工作,应该让周围的人觉得你是“能人”而不是仅受吹捧的“牛人”。这依赖与对开源架构和设计模式的综合。而能选择并灵活运用一种合适的开源,则需要开阔的眼光,和对不同开源架构的深入理解。 

原创粉丝点击