26 июля. Работа над проектом с переменным успехом
Дневниковые записи о том, как проходит обучение "ржавой крысы" (то бишь меня - не молодой, и имеющей гуманитарную профессию, подробнее в предисловии) на курсах "Веб-программирование" Яндекс.Практикума.
Идея классов как-то мне в теории очень понравилась. Вроде бы все понятно. Приступила к проекту.
Первый класс - по карточкам - правда прошел в духе "ООП и тигры у ног моих сели". Я возрадовалась... и тут же JS щелкнул меня по носу.
Второй класс - по валидации - мучаю уже третьи сутки. Сперва я глобально не могла понять, а что же с ним делать. Класс как шаблон будущих карточек, и его экземпляры - реальные карточки (наглядные такие, с заголовком и картинкой) - понятны. А вот валидация попапов....
С грехом пополам представив себе класс как инструкцию по валидации, а экземпляры как конкретное исполнение этой валидации, начала ваять. Но тут же еще в этой чертовой валидации был этот чертов объект с селекторами и классами (опять классы. но уже другие :)) А с этим объектом у меня старая "любовь". В предыдущей работе я с ним билась как Илья Муромец со Змеем Горыночем... не на жизнь, а на смерть :)
Понятное дело, что совмещение двух для меня малопонятных штуковин оказалось непосильным. Я страдала, я смотрела все, что только можно, в какой-то момент плюнула и пошла видяшки по классам искать. С классами-то есть, а вот как приладить объект.
В общем-то все оказалось проще, чем мне думалось относительно объекта, по сути формальная замена названия объекта на this. Я же по любимой традиции изначально решила, что все должно быть сложнее, и искала черную кошку там, где ее и не было.
Итого, вчера сделала код, наконец, добилась отсутствия ошибок в консоли. Возрадовалась... И..... ой, уже нос болит от щелчков. В консоли ошибок нет, а валидация не работает... от слова совсем. После часа разглядывая своих функций через лупу ушла спать...
Как говорится, утро вечера мудренее... Я просто радостно в конструкторе задала через this объект целиком, а в функциях обращалась через this к его значениям, забывши написать имя объекта. Мелочь, а приятно :)
Поставила везде недостающие имена объекта. УРа, валидация заработала. Возрадовалась... Дальше уже понятно....
По какой-то причине не работают кнопки. Валидация есть, очистка полей есть, а при нажатии на кнопку "Сохранить" один попап просто тихо молчит и ничего не делает (без ошибок в консоли), второй же звереет, закрывает сайт напрочь и в консоли пишет что-то матерное красными буковками....
Разобраться с этим не успела. Сегодня был вебинар. Так что ушла его слушать. Наслушалась про this... (в процессе размышляла, что лучше бы я пошла китайский учить, там хотя бы нет иллюзии, что все слова родные, русские). В общем, сейчас вместо решения проблемы кнопок решила, наконец, сделать запись в своем дневнике. А то уже почти неделя прошла с последней.
Судя по всему проблему кнопок придется отложить надолго. Завтра день переезда обратно с дачи в город, послезавтра с утра до вечера на работе полный беспредел. Видимо, за доделку проекта смогу только в среду засесть, к тому времени радостно забуду все, что только возможно, и тигры опять разбегутся :) Обидно, конечно, в одном шаге до финала застрять. Но что же поделать, если мнимая легкость ООП такая вредная.
P.S. В пятницу днем в процессе размышлений над кодом решила выпить колы. Задумчиво вытащила из под стола бутылку, налила в стаканчик, вышла на терраску, пригубила... Оказалось - гранатовое вино. Соседям канистру привезли, они нам в пластиковую бутылку отлили. Как-то не привыкла я посреди бела дня в одиночку вино пить, но что делать... Судьба. Кстати, именно после этого стаканчика у меня основные пазлы в коде и сложились...