Question
For each problem, study the supplied code, and list the code smells you see. For this exercise the code smells should be one of these:
For each problem, study the supplied code, and list the code smells you see. For this exercise the code smells should be one of these:
- long method,
- large class,
- duplicate code (aka cut and paste code),
- long parameter list,
- primitive obsession, and
- magic numbers.
For each code smell,
- list the line numbers of the code where the smell is focused,
- identify the design principle(s) that are violated, and
- identify some program change that the smell would complicate.
do {
// input data source
prompt("Data source? (0 = file, 1 = generated)");
if (getInput() == 0L){
//get data from file
int[] fileMaster ;
//process data from file
//input file name
prompt("File name? ");
String fname = getFileName();
fileMaster = readFile(fname);
expData = runSorts(fileMaster, sorters);
} else {
int[] randomData;
// get experiment parameters
prompt("How many values?");
length = getInput();
prompt("What seed? 0 = default ");
seed = getInput();
// generate random data
randomData = new int[length];
setRandomSeed(seed);
for (int i = 0; i < length; i++){
randomData[i] = nextRandomInt();
}
expData = runSorts(randomData, sorters);
}
System.out.println(expData.formatTable());
prompt("Another experiment? (0 = no, 1 = yes) ");
} while (getInput() == 1L);
Smells and locations?
Design principles?
Maintenance Consequences?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started