根據前面的計算公式我們可以知道:
影響複雜度的主要是傳入模組的引數種類和引數數量,所以我們可以通過更改傳入模組的種類和數量來降低耦合度。
1、控制引數個數(合理的設計結構體)
如果引數需要需要傳入5個引數,而且5個引數具有統一性或者相似性,那麼我們就可以將5個引數統一設計為乙個結構體(這本身就是結構體的目的)。
這樣我們傳入傳入模組的5個引數就被歸納為乙個引數。
當然這裡有乙個前提,就是本身引數具有統一或者相似性,如果毫不相干的幾個引數,完全沒有必要為了公司計算結果而強行組合在一起。
2、控制引數型別(合理的設定引數型別)
由於控制類引數的影響因子要大於資料型別引數的因子,所以我們應當儘量減少控制類引數的數量。
如函式設計如下
int caculate(int *p_sour_address, int caculate_type,int *p_dest_address,int number);(可以計算平均值和最大值)
那麼這麼函式就具有1個輸入引數,1個輸出引數,1個控制引數,呼叫兩個函式(計算平均值和最大值)
所以針對這樣的函式,我們完全沒有必要增加乙個控制引數(caculate_type),而應該分別暴露出兩個演算法,或者暴露出乙個包含兩個演算法的結構體。
hdfs的塊設定多大合適?
hdfs資料塊 與一般檔案系統一樣,hdfs也有塊 block 的概念,hdfs上的檔案也被劃分為塊大小的多個分塊作為獨立的儲存單元。與通常的磁碟檔案系統不同的是 hdfs中小於乙個塊大小的檔案不會佔據整個塊的空間 當乙個1mb的檔案儲存在乙個128mb的塊中時,檔案只使用1mb的磁碟空間,而不是1...
PopWindow設定合適寬高
popwindow設定寬高有幾種方法,第一種 wrapcontent,matchparent,或自己設定乙個值 這個定值不建議設,應為考慮到裝置的適配問題,如果單一裝置就可以這樣 第二種 可以根據螢幕的寬高比例設定 第三種 可以通過view root view findviewbyid r.id.x...
linux swap 交換空間 設定多大合適
無論是windows系統還是linux系統,除了物理記憶體外,都還有乙個虛擬記憶體。在linux上,虛擬記憶體被稱為swap space。過去以來,虛擬記憶體的大小應該是物理記憶體的兩倍,但是最近幾年來,物理記憶體的大小至少都有了好幾個gb,如果16g記憶體用32g的swap豈不是太占用硬碟空間?下...