basejava/lesson/lesson02.md at lesson · JavaWebinar/basejava · GitHub
Skip to content

Latest commit

 

History

History
70 lines (62 loc) · 7.6 KB

File metadata and controls

70 lines (62 loc) · 7.6 KB

Второе занятие

разбор HW1 будет на следующем уроке вместе с HW2

  • Начиная с Java 8 область памяти PermGen была упразднена и заменена на Metaspace
  • При загрузке класса (когда JVM встречает его коде впервые) JVM ищет этот класс в classpass и создает в Metaspace объект Class<Ваш_Класс> - описание класса: его поля, методы, конструкторы.

Правка к видео: в ArrayStorage.delete() вместо storage[i] = null нужно записать storage[size - 1] = null

  • Еще раз прочитайте, как правильно форматировать код
  • Настройте IDEA на автоматическое удаление неиспользуемых импортов
  • Поместите классы в пакеты, как это показано в уроке
  • Реализуйте в ArrayStorage метод update(Resume resume). Проверьте его на работоспособность в MainTestArrayStorage
  • Метод update должен обновлять резюме целиком
  • Сделайте проверки в:
    • get, update, delete на наличие резюме в storage
    • save на переполнение storage и на отсутствие резюме в storage
  • Выводите в консоль информативные предупреждения, для указанных выше проверок, с указанием uuid
  • Устраните дублирование кода в ArrayStorage
  • Выберите в классе java.util.Arrays подходящие методы для реализации clear() и getAll()
  • В clear() очищайте не весь storage, а только те ячейки, где хранятся резюме

error Рекомендации по коммитам

Чтобы было понятно, к чему относятся коммиты, используйте префиксы:

  • lesson_n: — изменения, которые вы повторяли за Григорием по ходу урока
    (например, lesson_1: реализовал методы для работы со storage)
  • hw_n: — изменения, связанные с вашей самостоятельной реализацией ДЗ
    (например, hw_3: реализовал Шаблонный метод)
  • Используйте следующий формат сообщения коммита:
    <префикс>: <глагол в прошлом времени> <что сделано>
  • Сопровождайте каждый коммит кратким, но ёмким описанием. Глядя на него, должно быть ясно, какие изменения сделаны.
  • Для исправления и объединения коммитов используйте rebase

Коммит должен соответствовать одной логической задаче:

  • Реализация нового класса → отдельный коммит
  • Реализация одного или нескольких связанных методов → отдельный коммит
  • Исправление связанных ошибок → отдельный коммит