1. 程式人生 > >硬編碼和非硬編碼(軟編碼)

硬編碼和非硬編碼(軟編碼)

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