程式衝突及其解決
描述
對於兩部分軟體,如果它們不能在同一個程式裡很容易地用在一起,那麼我們就稱這兩部分軟體是衝突的。可重用程式碼應該儘可能地避免這種衝突。程式庫使用的名字可能會和其他程式庫的名字發生衝突,這些衝突包括全域性名稱,巨集名稱和環境名稱相互之間的衝突。常用的解決方法是命名約定和名稱空間結構
命名約定
- 提高名稱的唯一性,每個具有外部連結的全域性名稱都應該加上字首,實際中,很常用的是加一個字母或者兩個字母。或者可以加上程式庫的名稱,甚至開發這個程式庫的公司名稱(增強唯一性)。
- 私有保護,減少由於多繼承造成的同名函式呼叫的多意性。
- 為了減少需要加上字首的全域性名稱數量,程式庫應該使用名字空間結構,不過程式設計師使用的話就需要加名稱空間的結構或者使用using namespace xx(名稱空間);
- 巨集名稱衝突也是比較常見,巨集名稱衝突並不是僅僅只是另外的巨集名稱衝突,其他函式命名也是會造成衝突。因此應儘可能地少定義公共巨集(公共檔案定義的巨集);對那些不能去掉的公共巨集,使用命名約定(加字首)。
- 環境名稱,主要是檔案的名稱衝突,將相同的名稱衝突檔案放在不同的目錄,然後包含進來。 6.
相關文章
- git 解決衝突Git
- Git 解決衝突Git
- Git 衝突了怎麼辦,如何高效快速的解決程式碼衝突?Git
- git pull 衝突解決Git
- hash衝突解決方法
- Git衝突解決技巧Git
- SVN解決衝突 記錄
- css命名衝突解決方法CSS
- 虛擬光碟機程式衝突怎麼回事 虛擬光碟機程式衝突的解決步驟
- 如何解決git程式碼衝突Git
- git 解決版本衝突問題Git
- git pull衝突的解決方案Git
- JAR衝突問題的解決JAR
- Android 解決BottomSheetDialog 拖曳衝突問題Android
- 依賴衝突時的解決方法
- Android com.android.support衝突解決Android
- Git 解決本地遠端版本衝突Git
- Jar包衝突解決方案調研JAR
- GO 問題之多版本衝突解決Go
- maven依賴衝突以及解決方法Maven
- Elasticsearch——併發衝突以及解決方案Elasticsearch
- Maven依賴衝突解決總結Maven
- Maven Idea檢視解決jar包衝突MavenIdeaJAR
- 解決預設方法衝突的規則
- hash解決衝突的方法優缺點
- Flutter和iOS手勢衝突解決思路FlutteriOS
- git 解決衝突 —— git stash 當前修改Git
- 解決動態庫的符號衝突符號
- 一招解決所有依賴衝突
- git如何進行程式碼的合併和衝突的解決Git行程
- Android View 滑動衝突解決方式以及原理AndroidView
- com.android.support衝突的解決辦法Android
- 建立結算清單時提示衝突解決方案
- composer包依賴衝突解決一例
- 【Git】合併分支報衝突怎麼解決Git
- 雜湊衝突詳解
- 解衝突用到的命令
- git分支操作常用命令及衝突解決Git