服务与支持 |咨询热线 0931-8733767
  • 金城在线
  • 公司简介
  • 发展历程
  • 企业文化
  • 售后服务
  • 工作机会
  • 联系我们

如何看待经常使用第三方library的程序员

来源:发布时间:2017-12-6 10:15:32

这种程序员叫做Duct-tape Programmer,用一些像胶带一样的代码把很多第三方的库连接起来。软件随想录的作者Joel Spolsky有一篇博客写的就是这种程序员【1】,他认为,这才是最好的程序员。


与此相对的另一个词是NIH:Not Invented Here Syndrome【2】,这是一种病。有些完美主义的程序员,认为轮子只要不是自己发明的,就一定不是好轮子。这是会付出惨重代价的。Netscape的历史教训:一些工程师认为第一版代码过于混乱(不是他们写的),因此决定重写整个浏览器,导致发布时间大大推迟,错过了市场。这是Netscape覆灭的一个重要原因。


我比较欣赏实用主义的做法。另外,以如今的软件复杂度,你已经不可能任何事情都自己做了,因为你的起点就是在很多巨人的肩膀上,并且一代代的程序员积累的大量代码会让后来的程序员越站越高。难道今天你会重写Linux,Gcc吗?如果你关注互联网的项目,你就会发现大部分项目其实都是“堆砌”出来的,连Facebook都会使用很多第三方开源组件。Instagram曾经发布过一篇技术博客,讲解他们的stack【3】,数数看里面使用了多少开源工具和组件?如果一切都自己写,可能Instagram第一版今天还没面世呢!如果你执意要自己完成大部分工作,这种执着除了能获得一些小小的成就感之外,是没有太多意义的,皓首穷经而已。


当然拿来主义也不能不加选择。比如我在Github上面看一个组件的时候,会看看有多少star,有没有其他知名的项目在用它(是否成熟),最近的commit是什么时候(是否活跃)。另外一个原则,Joel在他的一篇文章里也提过【4】:If it's a core business function -- do it yourself, no matter what.


最后,还要看你写代码的目的是什么。如果单纯是为了学习开发,而不是完成一个实际的软件项目,当然还是先自己写,写完以后再找个成熟的开源项目对比一下,看看自己错在哪了,哪些问题没考虑到。但如果是实战,等你那蹩脚的轮子造好,别人都超你好几条街了。


相关文章
  • 预约专家

    为您提供一对一解决方案
    立即预约
  • 售前咨询

    周一至周五9:00——17:30
    立即咨询
  • 联系方式

    13919049954

    全国7×24小时热线服务
  • 免费报价

    专属专业顾问1对1报价
    免费报价