高内聚体现在哪里?

内聚性:将功能类似、相关的API组合在一起的程度。

前两天公司培训CMMI认证,有一个地方和编程差不多,在公司中,如何评估这个员工的效率?这里就要引入一个量化标准的概念。量化的标准体现在编程里就是拆分的最小粒度。

低内聚的表现在代码散落,高内聚应该有以下3个表现:可读性、可复用和可维护。

public class AppManager {


    public void saveUserInfor(String name) {
           //进行存储操作
    }


    public void saveFile() {

    }

    public void showToast() {
        
    }

}

1.如果我们刚接手一个项目,看到以上的代码,在一个类中有很多方法,这些方法还没有注释
2.我们不知道有什么方法,当我们需要一个方法时,我们就回去自己去写一个(没有找到),还会吐槽这公司怎么连这个方法也没有= =
3.这就会造成代码越来越糟
4.我们应该把AppManager 拆分成更多的类 ,例如 关于文件的操作,我们应该写一个FileUtilsl类。

如果在saveUserInfor()方法中,我们有个一个新的参数,我们是不是要先找到调用它的LoginActivity类,然后在回调中修改方法。

class LoginActivity {
    //登陆成功

SignHandler.onSignIn(String,listener);
}

      class   SignHandler {

    public  static void onSignIn(String response, ISignListener listener) {
        //进行操作和修改
    }
}

interface ISignListener {
    void onSignInSuccess();
}

这样我们在修改时,改动SignHandler就行了,也不用去找对应的Activity了。
总结一下,耦合度和内聚有没有关系呢?答案是有的,当我们低耦合的时候(上面登陆这个例子),都拆分开之后,自然就高内聚了,可读、可复用和可维护。要想高内聚,低耦合是必须的。

你可能感兴趣的:(高内聚体现在哪里?)