• 2005-06-12

    选择第三方

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/1264435.html


    这个世界唯一不变的就是变化。在软件开发中,变化更是一种常态。各种各样的原则、策略大多是为了应对变化而产生,XP的口号喊得好:“拥抱变化”。一方面,变化来临时,我们应该临危不惧,积极应对,另一方面,我们应该未雨绸缪,把变化控制在一个很小的范围内。选择第三方开发包就是我们在开发层面上应对变化的一种常用的方法。

    计算机的发展已经走过了最初的那个“一切轮子从头造”的年代,不使用任何第三方开发包的项目已经逐渐的成为了稀有动物,尤其是在开源运动蓬勃发展的今天。百花齐放、争奇斗艳是计算机世界一道靓丽的风景线。任何有价值的东西都会有不只一个解决方案摆在我们面前。没有选择有时是最好的选择。选择多了,却会让我们费尽思量。毕竟,这种选择意味着风险。(关于技术风险的讨论,参见《技术的风险》)

    在选择第三方开发包时,我们通常会考虑如下一些因素:

    • 开发包的成熟程度。要应对的变化已经很多了,我们不想给自己找新的麻烦,几天一变的API是会让人抓狂的。
    • 业界的采纳程度。一个东西用的人越多,经验教训就越多,遇到问题就越容易解决。
    • 免费与开源。开发包免费意味着降低成本,降低成本意味着什么,大家都很清楚。开源意味着降低解决问题的门槛。
    • 持续的更新。持续的更新意味着项目的发展,流水不腐,户枢不蠹。当然,也有例外,有些项目不发展是因为开发者认为它已成熟。
    • 用户的接口。想法好,不等于实现好,毕竟,东西是给人用的,而不是自娱自乐,一个易于接受的用户接口同样重要。
    • 背后的力量。同样的东西,一个由Apache、Codehaus这样的开源组织开发,一个由个人开发,我们如何选择。除非这个人就是你自己,否则,大多数人会选择背靠大树好乘凉。
    • 项目组成员的熟悉程度。熟练意味着生产力,毕竟老板关注的是进度,而非技术。
    • 专人支持。对整个项目影响比较大的基础结构,比如Spring、Hibernate,最好在项目组内有专人负责解决遇到的问题,如果实在找不到,请求专家的帮助也是不错的,尽管很多专家不会无偿的为你工作。
    • 蕴涵的思想。这是一个自私的选项,用新东西意味着学习,谁不想多学些东西提高自己。

    选择第三方开发包,关键是为了提高生产力。虽然每个组件和框架都会告诉你自己有多好,回报是否能够大于服务,最终的裁决还要自己做出。

    这是我的选择,你的呢?

    分享到:

    历史上的今天:

    引用地址:

    评论

  • 我毕业一年,在自己的第一个公司里把大部分第三方开发包用了个遍,也许就是你所说的最后一条在做怪吧。不过看了你写的前面的一些因素确实对选择第三方开发包的标准有了更多的认识。
    回复tracy说:
    个人看法而已,如果你有其它的想法或是对这些内容的补充可以回复。
    2005-06-14 12:46:26