重用其他程式庫

老司機的詩和遠方發表於2020-04-06

重用其他程式庫也會帶來一些不足:需要使用者得到可重用的程式碼,需要充分考慮重用後的效率,還要關注由重用其他程式所帶來的潛在名字空間衝突,以及要考慮與可重用程式庫保持版本同步問題。
C++撰寫可用的程式庫已屬不易,撰寫可重用的程式庫更是專家級任務。效率並不是最終目標,而擴充套件性、靈活性等其他特性將會比效率更加重要

為何要重用其他程式庫

一般我們自己在編寫一個程式庫的時候,會盡量找到高效率優秀的程式庫,然後重用其中高效的程式碼。不會一個庫都全部是自己編碼,一來開發效率低下,二來質量也不高。主要還涉及領域知識問題,有些程式庫是某個領域專用的,裡面的介面都是這個領域專業的人的知識。因此這也是重用程式碼庫關鍵點。高質量的程式碼除了經驗之外,還需要專業領域知識!

重用其他程式庫缺點

可能損害效率,或者引入潛在的名字空間衝突,並且還不得不和可重用程式庫的版本更新保持同步!

解決方法

一種避免的方法是讓程式庫是自含式的,自含式程式庫定義和實現它所需要的所有功能,而沒有使用其他程式庫,除非其他程式庫的介面非常好用。
自含式程式庫會帶來兩個問題:
1、實現困難,一旦選擇自含式,那麼就必須實現所有功能
2、使用困難,
3、效率:自含式程式庫可能太低效,程式碼比較龐大,造成過度膨脹。
4、隔離:將自己和其他程式庫的依賴性中隔離開來,自含式程式庫也使自己沒辦法實現某些對程式庫有益的修改。

相關文章