「开源包」是糖块?还是糖衣炮弹?

如今,开源包有很多,无论你是做软发,算法,测试,前后端,移动端,一定能知道自己所做所学领域的几个开源工具和包。我本身是做算法的,自然也知道几个专业的开源包。如果直接套用到项目中,自然开发周期大大缩短,老板会很开心。

但是,这有没有隐患呢? 如果运气好,可能没有;如果碰巧了,结果就没那么好。

就拿一个算法包来说,如果你运气好,设计这个算法包的牛人也对软件工程很精通,那么他写出来的东西可能就很完美了。 对比的,不太了解工程化的东西,很可能会有一些坑。一般来说有两类,一是算法的边界条件考虑不全面,实际工程项目,环境错综复杂,学术出身的牛人写出的包可能未必考虑这点;二是工程化措施不足够,算法的某些输入,直接可能导致系统崩溃。

这提醒我们,在使用某个算法包或开源工具包时,最好要先研究下它,如果你决定要拿它作为算法的主要实现,你的项目是面向全国用户上线,那么,请一定要把它研究透,而不是最好去研究研究。这是对公司的负责,也是对自己的负责。否则,一旦上线出事,责任可能会很大。


分享到:


相關文章: