cqfn / jpeek

Hosted and command-line calculator of cohesion metrics for Java code

Home Page:https://i.jpeek.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OCC metric realization issue

iMaks99 opened this issue · comments

OCC implemented in jpeek returns results that do not correspond to theoretical definition in A proposal of class cohesion metrics using sizes of cohesive parts. In example class, metric returns 0.1667 instead of 1, because setters in jPeek do not relate to the getResult method.

class CarManualBuilder implements Builder{
	private CarType type;
	private int seats;
	private Engine engine;
	private Transmission transmission;
	private TripComputer tripComputer;
	private GPSNavigator gpsNavigator;
 
	@Override
	public void setCarType(CarType type) {
    	    	this.type = type;
	}
 
	@Override
	public void setSeats(int seats) {
    	    	this.seats = seats;
	}
 
	@Override
	public void setEngine(Engine engine) {
    	    	this.engine = engine;
	}
 
	@Override
	public void setTransmission(Transmission transmission) {
    	    	this.transmission = transmission;
	}
 
	@Override
	public void setTripComputer(TripComputer tripComputer) {
    	    	this.tripComputer = tripComputer;
	}
 
	@Override
	public void setGPSNavigator(GPSNavigator gpsNavigator) {
    	    	this.gpsNavigator = gpsNavigator;
	}
 
	public Manual getResult() {
    	    	return new Manual(type, seats, engine, transmission, tripComputer, gpsNavigator);
	}
}