Skip to content

Добавлено консольное приложение "Заметки" с архивами и заметками#1

Open
ZhannaVell wants to merge 1 commit into
mainfrom
dev
Open

Добавлено консольное приложение "Заметки" с архивами и заметками#1
ZhannaVell wants to merge 1 commit into
mainfrom
dev

Conversation

@ZhannaVell
Copy link
Copy Markdown
Owner

  • Добавлены классы Archive и Note
  • Добавлен универсальный MenuScreen для меню
  • Добавлен CreateScreen для создания элементов
  • Добавлен ContentView для просмотра заметок
  • Добавлена навигация между экранами
  • Добавлена валидация пустых полей
  • Добавлена обработка ошибок ввода

- Добавлены классы Archive и Note
- Добавлен универсальный MenuScreen для меню
- Добавлен CreateScreen для создания элементов
- Добавлен ContentView для просмотра заметок
- Добавлена навигация между экранами
- Добавлена валидация пустых полей
- Добавлена обработка ошибок ввода
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Всю папку .idea лучше сразу добавлять в gitignore - в ней хранятся локальные настройки разработчика, специфичные для проекта. После добавления важно не забыть удалить папку с репозитория

Comment thread src/main/kotlin/App.kt

when (result) {
is CreateResult.NoteCreated -> {
archive.notes.add(Note(result.name, result.text))
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Лучше в классе Archive написать отдельный метод для создания заметки, чтобы изменяемый список notes не был доступен всем

@@ -0,0 +1,7 @@
data class Archive(
val name: String,
val notes: MutableList<Note> = mutableListOf()
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

В data классах не рекомендуется хранить мьютабельные данные (в данном случае MutableList), т.к. в многопоточных средах могут возникнуть проблемы с такими объектами, а именно с доступом к чтению и записи изменяемых полей. У data классов автоматически генерируется функция copy, которую можно использовать для изменения полей объекта с помощью его копирования

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