Добавлено консольное приложение "Заметки" с архивами и заметками#1
Добавлено консольное приложение "Заметки" с архивами и заметками#1ZhannaVell wants to merge 1 commit into
Conversation
ZhannaVell
commented
Apr 26, 2026
- Добавлены классы Archive и Note
- Добавлен универсальный MenuScreen для меню
- Добавлен CreateScreen для создания элементов
- Добавлен ContentView для просмотра заметок
- Добавлена навигация между экранами
- Добавлена валидация пустых полей
- Добавлена обработка ошибок ввода
- Добавлены классы Archive и Note - Добавлен универсальный MenuScreen для меню - Добавлен CreateScreen для создания элементов - Добавлен ContentView для просмотра заметок - Добавлена навигация между экранами - Добавлена валидация пустых полей - Добавлена обработка ошибок ввода
There was a problem hiding this comment.
Всю папку .idea лучше сразу добавлять в gitignore - в ней хранятся локальные настройки разработчика, специфичные для проекта. После добавления важно не забыть удалить папку с репозитория
|
|
||
| when (result) { | ||
| is CreateResult.NoteCreated -> { | ||
| archive.notes.add(Note(result.name, result.text)) |
There was a problem hiding this comment.
Лучше в классе Archive написать отдельный метод для создания заметки, чтобы изменяемый список notes не был доступен всем
| @@ -0,0 +1,7 @@ | |||
| data class Archive( | |||
| val name: String, | |||
| val notes: MutableList<Note> = mutableListOf() | |||
There was a problem hiding this comment.
В data классах не рекомендуется хранить мьютабельные данные (в данном случае MutableList), т.к. в многопоточных средах могут возникнуть проблемы с такими объектами, а именно с доступом к чтению и записи изменяемых полей. У data классов автоматически генерируется функция copy, которую можно использовать для изменения полей объекта с помощью его копирования