Skip to content

"Проектная работа №1": передаю на ревью. - #1

Open
KamalSyu wants to merge 2 commits into
mainfrom
dev
Open

KamalSyu wants to merge 2 commits into
mainfrom
dev

Conversation

@KamalSyu

@KamalSyu KamalSyu commented Jul 5, 2025

Copy link
Copy Markdown
Owner

Прошу проверить проектную работу №1 (Гонки) на ревью.
Написано консольное приложение, которое задает вопросы с консоли, считывает пользовательский ввод и в результате выводит победителя гонки.
В приложении есть три класса: Main, Race, Car.
Класс Car — содержит в себе параметры «название» и «скорость».
Класс Race – в данном классе рассчитывается и запоминается лидер гонок.
Main – в данном классе происходит считывание пользовательского ввода и коммуникация с остальными классами.

Буду благодарна, если отметите все недочеты, которые есть.

@ArturNurtdinov ArturNurtdinov left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хорошая работа, молодец!

Comment thread src/main/java/Car.java Outdated
Comment on lines +15 to +32
public String getCarName() {
return carName;
}

// Метод для установки названия машины
public void setCarName(String carName) {
this.carName = carName;
}

// Метод для получения скорости машины
public int getRaceCar() {
return raceCar;
}

// Метод для установки скорости машины
public void setRaceCar(int raceCar) {
this.raceCar = raceCar;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Геттеры можно оставить, а вот сеттеры лучше удалить, чтобы сделать поля final

Comment thread src/main/java/Car.java Outdated
Comment on lines +2 to +3
String carName;
int raceCar;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поля лучше пометить final, тем самым исключив возможность их модификации извне

Comment thread src/main/java/Car.java
Comment on lines +9 to +12
public Car() {
this.carName = "";
this.raceCar = 0;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

этот конструктор особо не имеет смысла, поэтому лучше удалить

Comment thread src/main/java/Main.java Outdated
Scanner scanner = new Scanner(System.in);
Race race = new Race();

Car[] cars = new Car[3];

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

От хранения массива машин и лишнего цикла при определении победителя можно избавиться, если при вводе данных сразу вычислять победителя и хранить его в отдельной переменной, тогда программа будет требовать меньше памяти и работать быстрее

Comment thread src/main/java/Main.java Outdated
if (winners.size() == 1) {
System.out.println("Наш победитель - самая быстрая машина: " + winners.get(0));
} else {
System.out.print("Победителей несколько - самые быстрые машины: ");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

От логики с несколькими победителями можно избавиться, чтобы не хранить целый список, можно просто последнего введённого победителя запоминать (одну машину)

Comment thread src/main/java/Main.java Outdated
System.out.println("Введите скорость " + (i + 1) + " автомобиля (не больше 250 и не меньше 1)");
try {
int speed = scanner.nextInt();
if (speed > 0 && speed <= 250) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Минимальную и максимальную скорости лучше вынести в константы для повышения читабельности кода

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants