волна
Frederika
дневник заведен 01-06-2007
постоянные читатели [20]
0n, Alchemist_Dark, flater, Heid, Jared, KrasiVka, Liberta, Likani, Margiat, reflecting_god, Stamina, Tanilita, Алалина, зет, Мильди, МиНиМи, Осень, Осчастье, Товарищ БУ, шёпот
закладки:
цитатник:
дневник:
Понедельник, 14 Марта 2016 г.
21:39 четвертый день
Моя последняя попытка вести дневник закончилась через три дня после начала, где-то в августе.
Будем считать, что это четвертый день.

Сейчас всё более-менее утряслось, я уже полгода как фронтэндщик и пока никто не выгнал.
Временами кажется, что не научилась ничему совсем. С другой стороны, магия angular уже вызывает меньший ступор. Проект с ReactJS легко править по мелочам, а вот архитектурные задачи всегда в тупик ставят. Выбрать фреймворк, отрефакторить что-то нормально... Всё это пока никуда не годится. Опять же, в внутренних структурах ангуляра тоже ведь можно было бы применять как-то ООП, но они сперва такие мелкие, что класс воткнуть некуда, а потом... Боюсь, в один прекрасный день, в этой свалке заведется Скайнет.

Тем не менее, попробую тут оставить пару умных мыслей (чтобы посмеяться над ними в будущем, вероятно):
1. Всё что может быть автоматизированно должно быть автоматизировано и как можно раньше.
Сайты в блокноте - это круто конечно, но сборщики очень сильно выручают, тем более что часто идут уже в комплекте с семечком проекта, если использовать готовый. Сперва необходимость КОМПИЛИТЬ JS вызывала, мягко говоря, недоумение, но потом... Ангуляр требует кучу ручного труда. Самый яркий пример - нужно в директиву добавить модули. эти могули нужно добавить в модуль, уже директиву и параметром в контроллер. Если где-то что-то пропустить или сделать не по порядку... В общем, когда их в среднем штук 5-7, а модулей в приложении за 20 это уже становится не смешно. С другой стороны, сборщик каким-нибудь хипстерским плагином в легкую проставит тебе эти модули везде где надо, соберет в один файлик и минифицирует так, что мать родная не узнает. Опять же, становится легко использовать такие сладкий штуки как Jade и Stylus. После привыкания к ним html и css кажутся чем-то уродливым и... ну зачем там эти гребаные скобки? Да, Jade и Stylus чувствительны к табам и пробелам, ну и что? Необходимость пару раз пройтись заменой по файлу занимает гораздо меньше времени, чем экономит прозрачный и красивый код в котором видно структуру. Ах, да. Сборщик делает доступным проверку синтаксиса линтом и на логические проблемы. Страница, конечно, соберется, но пропущенную скобку или ссылку на несуществующую переменную тебе укажут с точностью до файла.
2. $timeout - наш герой. Это как выключить и снова включить. Если что-то не работает по непонятной причине, запихни его в $timeout. Ангуляр имеет запутанный (на мой непросветленный взгляд) runtime. Если код должен работать, а не работает, вероятно, вы запутались в дайджестах. Все эти встроенный директивы + ваши $watch + еще кастомные фильтры + сервисы + директива с компайлом, линком, контроллером, и черт знает что еще. Вся эта скрытая от глаз магия лечится $timeout с большой вероятностью. Кстати, выключить и снова включить иногда тоже приходится...
3. Подумай хорошо, внедряя новый сторонний модуль. Подумай еще лучше, если случится "Пфф, да мы и сами так умеем". Всё зависит от того, насколько придирчив будет заказчик. Если он ОЧЕНЬ придирчив, то лучше что-то самому ваять на основе чужого кода. Отлаживать огромные чужие модули и глушить их баги кодом в своих - это то еще развлечение.
На самом деле, сложнее всего бывает выйти из ступора прощелкивания знакомых вариантов решения, даже когда уже понятно, что дело тут в чем-то другом.

слышу Wolves in the Throne Room - a_looming_resonance
состояние: поиск квантов сознания
Закрыть