Skip to content

Проектная работа №1 - #1

Open
ilinhustla wants to merge 1 commit into
mainfrom
dev
Open

ilinhustla wants to merge 1 commit into
mainfrom
dev

Conversation

@ilinhustla

Copy link
Copy Markdown
Owner

No description provided.

Comment thread src/main/java/Main.java
} No newline at end of file


private static Car[] input2() {

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
private static Car[] input2() {
Scanner scanner = new Scanner(System.in);
Car[] cars = new Car[3];
for (int i = 0; i < 3; i++) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Верхняя граница цикла захардкожена числом, хотя длина массива у тебя под рукой - стоит поменять количество элементов, и цикл либо пропустит часть данных, либо упадёт с ArrayIndexOutOfBoundsException. Надёжнее опираться на сам массив:

for (int i = 0; i < cars.length; i++) {

Comment thread src/main/java/Main.java
int speed = 0;


while (true) {

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
}

class Car {
String name;

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/Main.java
Car winner = null;
int maxDistance = 0;
for (Car current : cars) {
int distance = current.speed * 24;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Число 24 в формуле - магическая константа: из кода не видно, что это длительность гонки в часах. Такие значения лучше выносить в именованную константу, тогда формула читается сама по себе, а значение можно поменять в одном месте:

private static final int RACE_DURATION_HOURS = 24;
...
int currentDistance = RACE_DURATION_HOURS * car.getSpeed();

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