关于开源程序的一些想法

    最近由于项目需要,接触了很多开源程序,如RTSP服务器 live555和Darwin Streaming Server,MP4文件格式解析相关的有Bento4和MP4Box,视频转码FFMpEG,http下载CURL等等,虽然很多只是稍微接触了下,没有深入研究,但是还是收获了不少~

    曾经听人讲过,写程序要实现一个东西之前,先去网上找下,看有没有现成可用的,如果别人已经做好了,而且还做得不错,那么就不要自己重新实现了,直接拿人家开源程序来用就好,要学会站在巨人的肩膀上去攀登。确实是这样,因为网上开源程序一般都是水平较高的程序员实现的,他们做的东西肯定要比你自己去实现的要强些,所以拿开源程序来用肯定会事半功倍。

    但我们在用的过程当中,要从开源程序中汲取精华,让它成为自己的东西。我认为一个项目最重要的东西就是它的架构、设计模式,而细节的语言技巧只是雕虫小技。当然细节也很重要。对待开源程序的比较好的流程是,先大体了解这个开源程序的主要功能,再参照API文档,示例程序去使用它,然后想办法把它融入到自己所要实现的项目中,最后如果想深入学习这个开源程序,就去开始看它的源码。

你可能感兴趣的:(设计模式,server,api,服务器,文档,语言)