2016-05-15 50 views
0

凝聚力指標背後的假設是,如果方法在相同的類級別變量上工作,則方法與 相關。如果方法完全適用於不同的變量,則方法不相關 。在一個有凝聚力的課程中, 方法使用相同的一組變量。在非粘性類中, 有一些方法適用於不同的數據。方法中的凝聚力 - 計算和輔助函數怎麼樣?

在該度量標準中,共享對實例變量訪問的方法對的數量,字段從不包含的對中減去。

但是,簡單地執行計算並返回一個值的方法呢?我有很多它們,但是因爲它們不共享任何實例變量,所以建議將它們分開,這對我沒有意義。

回答

0

但是,簡單地執行計算並返回一個值的方法呢?

你提到的那些方法稱爲效用(aka helper)方法,通常從OO設計的角度來看被認爲是代碼嗅覺。下面的文章詳細介紹了實用方法的主題,並提供了一個重構替代方案的示例:http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html

可能是,您的靜態代碼分析工具無法識別實用程序類(僅包含實用程序方法的類),併爲您提供同樣的暗示,它會給一個班級錯位的方法。假設你已經根據一些標準對你的方法進行了分組,那麼把實用程序類的每個方法移動到一個單獨的類中都沒什麼意義。

我對你的建議是重新審視你的設計,並試圖消除使用效用方法。 如果由於某種原因,這是不可行的,那麼保持原來的實用方法分組。