「開源包」是糖塊?還是糖衣炮彈?

如今,開源包有很多,無論你是做軟發,算法,測試,前後端,移動端,一定能知道自己所做所學領域的幾個開源工具和包。我本身是做算法的,自然也知道幾個專業的開源包。如果直接套用到項目中,自然開發週期大大縮短,老闆會很開心。

但是,這有沒有隱患呢? 如果運氣好,可能沒有;如果碰巧了,結果就沒那麼好。

就拿一個算法包來說,如果你運氣好,設計這個算法包的牛人也對軟件工程很精通,那麼他寫出來的東西可能就很完美了。 對比的,不太瞭解工程化的東西,很可能會有一些坑。一般來說有兩類,一是算法的邊界條件考慮不全面,實際工程項目,環境錯綜複雜,學術出身的牛人寫出的包可能未必考慮這點;二是工程化措施不足夠,算法的某些輸入,直接可能導致系統崩潰。

這提醒我們,在使用某個算法包或開源工具包時,最好要先研究下它,如果你決定要拿它作為算法的主要實現,你的項目是面向全國用戶上線,那麼,請一定要把它研究透,而不是最好去研究研究。這是對公司的負責,也是對自己的負責。否則,一旦上線出事,責任可能會很大。


分享到:


相關文章: