Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

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

Open
KamalSyu wants to merge 2 commits intomain from
dev
Open

"Проектная работа No1": передаю на ревью. #1
KamalSyu wants to merge 2 commits intomain from
dev

Conversation

@KamalSyu
Copy link
Owner

@KamalSyu KamalSyu commented Jul 5, 2025

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

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

Copy link

@ArturNurtdinov ArturNurtdinov left a comment

Choose a reason for hiding this comment

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

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

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

@ArturNurtdinov ArturNurtdinov Jul 5, 2025

Choose a reason for hiding this comment

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

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

Comment on lines 2 to 3
String carName;
int raceCar;
Copy link

@ArturNurtdinov ArturNurtdinov Jul 5, 2025

Choose a reason for hiding this comment

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

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

Comment on lines +9 to +12
public Car() {
this.carName = "";
this.raceCar = 0;
}
Copy link

@ArturNurtdinov ArturNurtdinov Jul 5, 2025

Choose a reason for hiding this comment

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

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

Scanner scanner = new Scanner(System.in);
Race race = new Race();

Car[] cars = new Car[3];
Copy link

@ArturNurtdinov ArturNurtdinov Jul 5, 2025

Choose a reason for hiding this comment

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

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

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

@ArturNurtdinov ArturNurtdinov Jul 5, 2025

Choose a reason for hiding this comment

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

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

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

@ArturNurtdinov ArturNurtdinov Jul 5, 2025

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

Reviewers

1 more reviewer

@ArturNurtdinov ArturNurtdinov ArturNurtdinov left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /