Продолжаю работу с ментатами 🤓
Для абсолютного большинства if есть вполне себе рабочие способы их убрать, а не просто записать тернарным оператором в одну строку...
я делал задачи по заданию поздно вечером, а потом решил
дописать недостающие тесты и перечитать, написанное вчера. Нашёл грубую ошибку в планировании функции, пока анализировал
временную сложность функции, удаляющей все узлы с конкретным значением...
Побочный эффект от прохождения курса в том, что я проникся написанием тестов. Как вообще я мог раньше писать код, вручную проверяя только очевидные случаи? Теперь в работе сначала пишу тесты, потом реализацию. Нужно было некоторое время, чтобы привыкнуть, но это того стоило)
Проверка типа всё же выразительнее сравнения по указателю, и в Go её можно получить через интерфейс, раз наследования нет...
Очень понравилось задание. В своей профессиональной деятельности я сталкивался с курсорами (в АТД), но раньше не осознавал, как самому его можно применить на практике, а здесь в этом плане очень хороший пример...
Корректность работы с массивом значений не проверяется.
Подобное недостаточное тестирование ранее уже приводило меня к отправке некорректного решения (задание 6 - задача 7.4.*). На этот раз тупо повезло -- ошибки в алгоритме не было...
Идеи из функциональной архитектуры крутые, но пока я не понимаю, как их внедрять. Испытываю ментальное сопротивление идти рефакторить работающий проект, или внедрять что-то новое, несогласующееся с устоявшимися практиками кодстайла, ожидая критику или непонимание со стороны коллег...
Все чаще замечаю за собой, что какие-то концепции из программирования в их академическом смысле мне не очень понятны.
Но при их изучении оказывается, что использую их сплошь и рядом, сам об этом не догадываясь...
Модель АТД - это как будто то, чего мне периодически не хватало в своей работе. Я читал в блоге про инварианты, предусловия, постусловия и Eiffel, но понимая все концепции по отдельности, не мог сложить это в единую картину. Сейчас всё встало на свои места, и хорошо, что есть возможность закрепить это на практике. Потому что интуитивно я следовал описанным подходам, но другое дело, формирование полноценной ментальной модели.
Очень глубокий материал, много рефлексировал о том, как можно было бы применить полученные знания к своим задачам...
[Запрещаем ошибочное поведение на уровне интерфейса]
Это почти откровение :)
С помощью таких подходов можно решить колоссальное количество ошибок, которые в текущем виде стреляют регулярно
Руки уже немного чешутся. Остро чувствуется необходимость в практике - одного занятия очевидно недостаточно, чтобы видеть подобное постоянно и уметь корректно это применять. Но перспективы открываются достаточно светлые...
По теме AI, к сожалению, вынужденно не успел отписаться о прогрессе и результате задания - объявили о моем сокращении с текущей позиции и по сей день вовлечен в процесс решения проблемы...
Обычно входил в рабочий процесс тяжело, постоянно прокрастинировал по соцсетям/тг. Сейчас же и привычки по организации рабочего дня выработались и планы/крошки очень сильно помогли.
Вообще приятно видеть, как теперь уже привычные инструменты из ЭП положительно влияют на работу :)
Post #2658
338
- ❤ 21
- 👍 12
- ✍ 4