package jdepend.model; import jdepend.metadata.Named; /** * 可以被指标评价的 * * @author user * */ public interface Measurable extends Named { /** * 代码行数 * * @return */ public int getLineCount(); /** * 类数量 * * @return */ public int getClassCount(); /** * 具有抽象类计数资格的类个数 * * @return */ public int getAbstractClassCount(); /** * 具体类个数 * * @return */ public int getConcreteClassCount(); /** * 抽象性(0~1) * * @return */ public Float getAbstractness(); /** * 易变性(0~1) * * @return */ public Float getVolatility(); /** * 传入数量 * * @return */ public int getAfferentCoupling(); /** * 传出数量 * * @return */ public int getEfferentCoupling(); /** * 耦合值 * * @return */ public float getCoupling(); /** * 内聚值 * * @return */ public float getCohesion(); /** * 稳定性(0~1) * * @return */ public Float getStability(); /** * 抽象程度合理性(0~1) * * @return */ public Float getDistance(); /** * 内聚性(0~1) * * @return */ public Float getBalance(); /** * 封装性(0~1) * * @return */ public Float getEncapsulation(); /** * 是否存在循环依赖 * * @return */ public boolean getContainsCycle(); /** * 扩展指标 * * @param metrics * @return */ public MetricsInfo extendMetrics(String metrics); /** * 得到指定指标的值 * * @param metrics * @return */ public Object getValue(String metrics); }