硬編碼和非硬編碼(軟編碼)
阿新 • • 發佈:2019-02-01
1、在計算機程式中, 硬編碼是指將可變變數用一個固定值來代替的方法, 使用這樣方法,編譯後,如果想更改詞變數就變的非常困難。因此, 在大部分的程式語言中,可以將一個固定值定義為一個標記, 然後用這個特殊的標記來取代變數名稱。 當標記名稱發生改變時, 變數名不變。這樣在程式進行編譯時,所有的變數都不再是固定值 這樣就更容易實現改變變數的目的。
所以在通常情況下, 應該避免使用硬編碼方法:
例如:
java 例子:
硬編碼: if(a==2): return false:
非硬編碼: if(a==b):return false:
硬編碼通常來講: 就是把數值寫成常數,而不是變數
C++ 例子
硬編碼:
for(int I = 0; I<120; i++){
...
}
非硬編碼:
#define MAX_USER_CNT 120
for (int i=0; i<MAX_USER_CNT; i++){
...
}
這裡的120就屬於數字式“硬編碼”,這不僅讓程式很難讀,而且不易維護。如果要修改120,就的修改程式中所有與此有關的120。應將數字式“硬編碼”宣告成一個巨集,這樣程式不僅易讀,而且還可以一改全改。
軟編碼比硬編碼要複雜一些,對以後的考慮要周到一些。軟編碼是一種設計,而硬編碼不過是一種具體的實現。軟體開發不只是需要一個軟體的實現,更需要軟體能夠很好的修改,方便得擴充套件,所以需要一些設計技巧在裡面。
原網址 https://my.oschina.net/u/2272631/blog/1633869