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.

1.

public class BodyMass {

public void calculateEverything(String name, double height,

double weight, int age) {

System.out.printf("%s's BMI is %.2f", name,

(703 * weight / (height * height))

);

}

public static void main(String[] args) {

BodyMass lp = new BodyMass ();

lp.calculateEverything("John", 67, 150, 20);

}

}

2.

public class EventSchedule{

public int month;

public int date;

public String day;

public int hour;

public int minute;

}

3,

public class PairedAverage{

private int[] ar1 = {1,2,3,4,5};

private int[] ar2 = {2,4,6,8,10};

public void calculateEverything() {

int ans1 = 1;

int div1 = 0;

for(int i=0;i

ans1 *= ar1[i];

div1 = ans1 / ar1.length;

System.out.println("The average is " + div1);

int ans2 = 1;

int div2 = 0;

for(int i=0;i

ans2 *= ar2[i];

div2 = ans2 / ar2.length;

System.out.println("The average is " + div2);

}

}

Smells and locations?

Design principles?

Maintenance Consequences?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!