Skip to content

Commit a3b8d06

Browse files
committed
Code refactoring.
1 parent 87c0ae5 commit a3b8d06

40 files changed

+2798
-83
lines changed

src/main/java/com/yurii/salimov/lesson01/task01/Circle.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
55
* @version 1.0
66
*/
7-
public class Circle {
7+
public final class Circle {
88

99
private double radius;
1010

11-
public Circle(double radius) {
11+
public Circle(final double radius) {
1212
this.radius = radius;
1313
}
1414

@@ -20,7 +20,7 @@ public double getRadius() {
2020
return this.radius;
2121
}
2222

23-
public void setRadius(double radius) {
23+
public void setRadius(final double radius) {
2424
this.radius = radius > 0 ? radius : 0;
2525
}
2626
}

src/main/java/com/yurii/salimov/lesson01/task01/Main.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
public class Main {
1111

1212
public static void main(String[] args) {
13-
Circle circle = new Circle(10);
13+
final Circle circle = new Circle(10);
1414
System.out.println(circle.getArea());
1515
}
1616
}

src/main/java/com/yurii/salimov/lesson01/task02/Counter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
55
* @version 1.0
66
*/
7-
public class Counter {
7+
public final class Counter {
88

99
private static int count;
1010

src/main/java/com/yurii/salimov/lesson01/task03/Car.java

+21-21
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
55
* @version 1.0
66
*/
7-
public class Car {
7+
public final class Car {
88

99
private final String model;
1010
private boolean started;
11-
private int speed;
11+
private double speed;
1212

1313
public Car(final String model) {
1414
this.model = model;
@@ -32,7 +32,7 @@ public boolean isStarted() {
3232
return this.started;
3333
}
3434

35-
public void speed(int speed, int acceleration) {
35+
public void speed(final int speed, final int acceleration) {
3636
if (this.speed != speed) {
3737
if (this.speed < speed) {
3838
speedUp(speed, acceleration);
@@ -47,43 +47,43 @@ public void speed(int speed, int acceleration) {
4747
}
4848
}
4949

50-
private void speedUp(double speed, double acceleration) {
50+
private void speedUp(final double speed, final double acceleration) {
5151
if (!isStarted()) {
5252
System.out.println("Start the engine!");
5353
} else {
54-
System.out.println("The car accelerates to " + speed + " km/h with an acceleration of " + acceleration + " km/s:");
54+
System.out.println("The car accelerates to " + speed + " km/h " +
55+
"with an acceleration of " + acceleration + " km/s:");
5556
while (this.speed != speed) {
5657
if (this.speed + acceleration > speed) {
57-
acceleration = speed - this.speed;
58+
this.speed = speed;
5859
}
59-
this.speed += acceleration;
6060
System.out.println(this.speed + " km/h");
61-
try {
62-
Thread.sleep(500);
63-
} catch (InterruptedException ex) {
64-
ex.printStackTrace();
65-
}
61+
sleep();
6662
}
6763
}
6864
}
6965

70-
private void speedDown(int speed, int acceleration) {
66+
private void speedDown(final int speed, final int acceleration) {
7167
if (!isStarted()) {
7268
System.out.println("Start the engine!");
7369
} else {
74-
System.out.println("The car slows to " + speed + " km/h with an acceleration of -" + acceleration + " km/s:");
70+
System.out.println("The car slows to " + speed + " km/h " +
71+
"with an acceleration of -" + acceleration + " km/s:");
7572
while (this.speed != speed) {
7673
if (this.speed - acceleration < speed) {
77-
acceleration = this.speed - speed;
74+
this.speed = speed;
7875
}
79-
this.speed -= acceleration;
8076
System.out.println(this.speed + " km/h");
81-
try {
82-
Thread.sleep(500);
83-
} catch (InterruptedException ex) {
84-
ex.printStackTrace();
85-
}
77+
sleep();
8678
}
8779
}
8880
}
81+
82+
private void sleep() {
83+
try {
84+
Thread.sleep(500);
85+
} catch (InterruptedException ex) {
86+
ex.printStackTrace();
87+
}
88+
}
8989
}

src/main/java/com/yurii/salimov/lesson01/task03/Main.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
public class Main {
1313

1414
public static void main(String[] args) {
15-
Car car = new Car("Lada 2101");
15+
final Car car = new Car("Lada 2101");
1616
System.out.println("Model: " + car.getModel());
1717
car.start();
1818
car.speed(250, 40);

src/main/java/com/yurii/salimov/lesson02/task01/Car.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
55
* @version 1.0
66
*/
7-
public class Car {
7+
public final class Car {
88

99
private String name;
1010
private Engine engine;

src/main/java/com/yurii/salimov/lesson02/task01/Climate.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
55
* @version 1.0
66
*/
7-
public class Climate {
7+
public final class Climate {
88

99
private boolean on;
1010
private int temperature;

src/main/java/com/yurii/salimov/lesson02/task01/Engine.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
55
* @version 1.0
66
*/
7-
public class Engine {
7+
public final class Engine {
88

99
private double mileage;
1010
private boolean started;
1111
private double volume;
1212

13-
public Engine(double mileage, double volume) {
13+
public Engine(final double mileage, final double volume) {
1414
this.mileage = mileage;
1515
this.volume = volume;
1616
}
@@ -33,8 +33,8 @@ public double getMileage() {
3333
return this.mileage;
3434
}
3535

36-
public void addMileage(double mileage) {
37-
if (isStarted()) {
36+
public void addMileage(final double mileage) {
37+
if (mileage > 0 && isStarted()) {
3838
this.mileage += mileage;
3939
}
4040
}

src/main/java/com/yurii/salimov/lesson02/task01/Main.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static void main(String[] args) {
2020
System.out.println(ferrari);
2121
}
2222

23-
private static void move(final Car car, int[] speeds, final int hours) {
23+
private static void move(final Car car, final int[] speeds, final int hours) {
2424
car.turnOn();
2525
for (int speed : speeds) {
2626
car.start(speed, hours);

src/main/java/com/yurii/salimov/lesson02/task02/Student.java

+5-25
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,15 @@
66
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
77
* @version 1.0
88
*/
9-
public class Student {
9+
public final class Student {
1010

11-
private String name;
12-
private String surname;
13-
private Date birth;
11+
private final String name;
12+
private final String surname;
13+
private final Date birth;
1414

15-
public Student() {
16-
this.birth = new Date();
17-
}
18-
19-
public Student(String name, String surname) {
20-
this();
15+
public Student(String name, String surname, Date birth) {
2116
this.name = name;
2217
this.surname = surname;
23-
}
24-
25-
public Student(String name, String surname, Date birth) {
26-
this(name, surname);
2718
this.birth = birth;
2819
}
2920

@@ -36,23 +27,12 @@ public String getName() {
3627
return this.name;
3728
}
3829

39-
public void setName(String name) {
40-
this.name = name;
41-
}
4230

4331
public String getSurname() {
4432
return this.surname;
4533
}
4634

47-
public void setSurname(String surname) {
48-
this.surname = surname;
49-
}
50-
5135
public Date getBirth() {
5236
return this.birth;
5337
}
54-
55-
public void setBirth(Date birth) {
56-
this.birth = birth;
57-
}
5838
}

src/main/java/com/yurii/salimov/lesson02/task02/StudentList.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
77
* @version 1.0
88
*/
9-
public class StudentList {
9+
public final class StudentList {
1010

1111
private final static int DEFAULT_CAPACITY = 10;
1212

@@ -38,11 +38,11 @@ public void delete(final int index) {
3838
}
3939
}
4040

41-
public Student get(int index) {
41+
public Student get(final int index) {
4242
return this.list[index];
4343
}
4444

45-
public String getNameAndSurname(int index) {
45+
public String getNameAndSurname(final int index) {
4646
final Student student = get(index);
4747
return student.getName() + " " + student.getSurname();
4848
}
@@ -58,7 +58,7 @@ public Student findByName(final String name) {
5858
return student;
5959
}
6060

61-
public Student findBySurname(String surname) {
61+
public Student findBySurname(final String surname) {
6262
Student student = null;
6363
for (int i = 0; i < this.counter; i++) {
6464
if (this.list[i].getSurname().equalsIgnoreCase(surname)) {
@@ -69,7 +69,7 @@ public Student findBySurname(String surname) {
6969
return student;
7070
}
7171

72-
public Student findByDate(Date birth) {
72+
public Student findByDate(final Date birth) {
7373
Student student = null;
7474
for (int i = 0; i < this.counter; i++) {
7575
if (list[i].getBirth().equals(birth)) {
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,70 @@
11
package com.yurii.salimov.lesson02.task05;
22

3+
import com.yurii.salimov.lesson02.task05.figure.Figure;
4+
import com.yurii.salimov.lesson02.task05.service.*;
5+
6+
import java.util.List;
7+
38
/**
49
* 2.5 Написать иерархию классов «Фигуры». Фигура -> Треугольник -> Прямоугольник -> Круг.
510
* Реализовать ф-ю подсчета площади для каждого типа фигуры.
611
*
7-
* @author Yuriy Salimov (yuriy.alex.salimov@gmail.com)
12+
* @author Yurii Salimov (yuriy.alex.salimov@gmail.com)
813
* @version 1.0
914
*/
1015
public class Main {
1116

17+
/**
18+
* The figures number.
19+
*/
20+
private final static int FIGURES_NUMBER = 10;
21+
22+
/**
23+
* The maximum coordinate of a geometric figures.
24+
*/
25+
private final static int MAX_COORDINATE = 25;
26+
1227
public static void main(String[] args) {
13-
final Figure[] figures = createFigures();
14-
for (Figure figure : figures) {
15-
System.out.println(figure);
16-
}
28+
final Generator generator = getGenerator();
29+
final List<Figure> figures = generator.generateFigures(FIGURES_NUMBER);
30+
31+
final Printer printer = getPrinter();
32+
printer.printlnAll(figures);
33+
printer.printlnWithMaxArea(figures);
34+
printer.printlnWithMinArea(figures);
35+
printer.printlnWithMaxPerimeter(figures);
36+
printer.printlnWithMinPerimeter(figures);
37+
printer.printAndDrawAll(figures);
38+
}
39+
40+
/**
41+
* Creates and returns a new Generator instance
42+
* for creating a geometric figures.
43+
*
44+
* @return the new Generator.
45+
*/
46+
private static Generator getGenerator() {
47+
return new FigureGenerator(MAX_COORDINATE);
48+
}
49+
50+
/**
51+
* Creates and returns a new Printer instance
52+
* for printing a geometric figures in the console.
53+
*
54+
* @return the new Printer.
55+
*/
56+
private static Printer getPrinter() {
57+
final Analyzer analyzer = getAnalyzer();
58+
return new FigurePrinter(analyzer);
1759
}
1860

19-
private static Figure[] createFigures() {
20-
return new Figure[]{new Rectangle(8, 12), new Triangle(5, 8, 5), new Circle(10)};
61+
/**
62+
* Creates and returns a new Printer instance
63+
* for analyzing an incoming figures.
64+
*
65+
* @return the new Analyzer.
66+
*/
67+
private static Analyzer getAnalyzer() {
68+
return new FigureAnalyzer();
2169
}
2270
}

0 commit comments

Comments
 (0)