Skip to content

Conversation

@psychotrance
Copy link

@psychotrance psychotrance commented Apr 18, 2025

Исправления в Lesson 14-17
Добавил задания из Lesson 18

Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
Signed-off-by: AlexeyNiyazov <[email protected]>
}

public List<Counter> getCounters() {
return new ArrayList<>(counters);
Copy link
Owner

Choose a reason for hiding this comment

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

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

return -1;
}

if (number.compareTo(o.getNumber()) == 0) {
Copy link
Owner

Choose a reason for hiding this comment

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

А есть еще вариант значения number.compareTo(o.getNumber()), если отрицательные и положительные числа уже обработали выше? Зачем этот if?

К слову, зачем несколько раз считать number.compareTo(o.getNumber()), если можно вынести результат в переменную?

import com.walking.lesson39_queue1.collection.DoublyLinkedList;

public class Queue<E> {
private final DoublyLinkedList<E> list = new DoublyLinkedList<>();
Copy link
Owner

Choose a reason for hiding this comment

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

Как по мне, наследование тут логичнее, чем композиция. Ты же буквально расширяешь существующую структуру

Если хотел явно ограничить апи - идея понятна и, в целом, неплоха. Но задача все же больше на наследование ориентирована


public boolean add(Task task) {
tasks.add(task);
task.setIndex(tasks.size());
Copy link
Owner

Choose a reason for hiding this comment

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

Для однопоточкой среды - хорошее решение. Прям огонь

private Node<E> root;

private int level;

Copy link
Owner

Choose a reason for hiding this comment

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

лишняя пустая строка


System.out.printf("Element %s deleted\n", removed.value);
return removed;
}
Copy link
Owner

Choose a reason for hiding this comment

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

вроде обсуждали этот алгоритм или похожий. Не самый эффективный подход. А все из-за желания поработать с удаляемой нодой, а не удаляемым значением))

return removed;
}

public void straightBypass() {
Copy link
Owner

Choose a reason for hiding this comment

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

название метода начинается с глагола

}
}

public void middleBypass() {
Copy link
Owner

Choose a reason for hiding this comment

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

глагол

list.add(current.value);
}

public void widthBypass() {
Copy link
Owner

Choose a reason for hiding this comment

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

глагол

widthBypass(collection, newNodeQueue);
}

public class Node<E> implements Comparable<Node<E>> {
Copy link
Owner

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