Да, очевидно, что это какая то беда не буквально с самой библиотекой, а со всей экосистемой, ассоциированной с ней.
Но в данном случае это роли не играет. Программист ведь выбирает не одну или две библиотеки, а всю экосистему — кучу библиотек и их зависимостей. И если косяк где-то в глубине — это бросает тень на всю экосистему.
Ни в нокауте, ни в реакте, ни в бэкбоне таких адских проблем, как со вью у меня не было.
Нет. Они локаются через package-lock.json. А значит, ставятся ровно те же самые версии.
Кроме того, вы не внимательно читали. Смотрите.
0. Никто зависимости не трогает.
1. Возникает ошибка.
2. Ее чинят переустановкой зависимостей.
3. Через какое-то время снова возникает ошибка. И опять зависимости никто не трогал.
Не у всех. Если баг мутный то для его воспроизведения нужно чтобы совпало очень много факторов — конкретная комбинация конкретных пакетов и конкретная платформа.
У ноды/бабеля миллионы пользователей. Это очень популярное ПО. Если не было заведено ошибки, очень вероятно, что ее не было.
В общем, я вам точно говорю. Три человека над ней билось несколько дней. Это проблема фреймворка.
Исходя из чего вы делаете вывод, что это не конфликт версий, если переустановка node_modules что-либо меняет?
Если бы это был конфликт версий, то
1. Появление ошибки было бы связано с управлением зависимостями. А оно не было связано. Никто никаких новых модулей не ставил, не удалял, вообще не трогал ничего, связанного с модулями. И файлы вне рабочей области не трогал.
2. Простая переустановка модулей ничего бы не чинила. Поскольку их никто не трогал, то ставятся ровно те же модули, который и были до этого. А поскольку ошибка была очень устойчивой: проявлялась в течении всего проекта у всех фронтендеров, то это точно не конфликт версий.
Ну, слушайте. Будь это баг платформы, это быстро бы появилось в ишуях платформы и не работало бы у всех. А я очень внимательно просмотрел актуальные баги на тот момент и не было ничего, что могло бы заафектить.
Так что единственный подозреваемый — фреймворк.
Во Vue встроен полтергейст?
Уж не знаю, полтергейст там или нет, но баги адовые — точно встроены.
Нет. Тут другое. Никаких видимых причин для возникновения ошибки не было. То есть, просто работаешь, работаешь и тут бах — вот эта ошибка. Это точно не конфликт версий, потому что на момент возникновения ошибки никто даже не ставил никаких модулей и не удалял. Обычная работа по программированию.
И я не один такой. У всех двух моих коллег эта же ситуация повторялась.
Вы просто сами себя в заблуждение ввели вопросом. Задачи оцениваются в стори-поинтах. Долго/не долго — это уже станет понятно после нескольких итераций. И там уже к ответу на вопрос «чего так долго?» у вас будет шанс подготовиться на ретроспективе. Вы там обсудите, «чего так долго?» и договоритесь о конкретных мерах, чтобы стало быстрее.
Как-то писал на Vue проект крупный. Баг на баге и багом погоняет. Например, приложение могло просто фризиться, потому что в атрибуте тега указывается строковый литерал. А если этот же литерал записать в секции data компонента, и из шаблона сослаться на него как на переменную, то все работает.
И таких приколов масса.
Самый лютый: приложение (на Vuex) в какой-то момент вообще просто перестает работать и выдается какая-то ошибка странная (забыл уже конкретно какая). Эта ошибка не гуглится и не исправляется вообще никак. Но если удалить node_modules и переставить заново, то все работает.
А как быть с необходимостью, например, рефакторинга или обоснованием расширения срока под ту или иную технологию?
Ну так рефакторинг закладывается на оценке задачи. Все, кроме вас на покере выдают оценку 3, а вы — 6. Вас спрашивают почему. Вы говорите «ну вот тут надо переписать». Начинается обсуждение, в котором вопрос всесторонне рассматривается. Проводят следующий раунд, и или вы с командой соглашаетесь и показываете оценку 3. Или команда с вами и выдает оценку 6. Или все сойдутся на оценке 4.
Вот и я про то же.
Я не думаю, что дисциплина вообще существует. Типа, мы называем дисциплинированным человека, когда мы видим, как он занимается каким-то делом. Но если кто-то назовет сам себя дисциплинированным, это будет звучать больше как какой-то нарциссизм.
Это тоже нормально. Это естественная, полезная реакция организма, чтобы вы попробовали другие пути. Один из самых эффективных обходных путей — попросить помощи у сообщества.
Хабр — отличное место для решения таких задач. И у вас хорошая карма.
Да, очевидно, что это какая то беда не буквально с самой библиотекой, а со всей экосистемой, ассоциированной с ней.
Но в данном случае это роли не играет. Программист ведь выбирает не одну или две библиотеки, а всю экосистему — кучу библиотек и их зависимостей. И если косяк где-то в глубине — это бросает тень на всю экосистему.
Ни в нокауте, ни в реакте, ни в бэкбоне таких адских проблем, как со вью у меня не было.
Ну, так это означает, что дело не в зависимостях.
package-lock.json
. А значит, ставятся ровно те же самые версии.Кроме того, вы не внимательно читали. Смотрите.
0. Никто зависимости не трогает.
1. Возникает ошибка.
2. Ее чинят переустановкой зависимостей.
3. Через какое-то время снова возникает ошибка. И опять зависимости никто не трогал.
У ноды/бабеля миллионы пользователей. Это очень популярное ПО. Если не было заведено ошибки, очень вероятно, что ее не было.
В общем, я вам точно говорю. Три человека над ней билось несколько дней. Это проблема фреймворка.
Если бы это был конфликт версий, то
1. Появление ошибки было бы связано с управлением зависимостями. А оно не было связано. Никто никаких новых модулей не ставил, не удалял, вообще не трогал ничего, связанного с модулями. И файлы вне рабочей области не трогал.
2. Простая переустановка модулей ничего бы не чинила. Поскольку их никто не трогал, то ставятся ровно те же модули, который и были до этого. А поскольку ошибка была очень устойчивой: проявлялась в течении всего проекта у всех фронтендеров, то это точно не конфликт версий.
Ну, слушайте. Будь это баг платформы, это быстро бы появилось в ишуях платформы и не работало бы у всех. А я очень внимательно просмотрел актуальные баги на тот момент и не было ничего, что могло бы заафектить.
Так что единственный подозреваемый — фреймворк.
Уж не знаю, полтергейст там или нет, но баги адовые — точно встроены.
И я не один такой. У всех двух моих коллег эта же ситуация повторялась.
С другими технологиями баги если и были, то всегда причина была в том где-то я что-то не понимал и делал не так. А тут именно во фреймворке дело.
Реакт, нокаут, бэкбон.
Из скольки?
Вы просто сами себя в заблуждение ввели вопросом. Задачи оцениваются в стори-поинтах. Долго/не долго — это уже станет понятно после нескольких итераций. И там уже к ответу на вопрос «чего так долго?» у вас будет шанс подготовиться на ретроспективе. Вы там обсудите, «чего так долго?» и договоритесь о конкретных мерах, чтобы стало быстрее.
Ну, вы же все предыдущие итерации укладывались в оценки. И с чего бы в этой они вам не будут доверять?
И таких приколов масса.
Самый лютый: приложение (на Vuex) в какой-то момент вообще просто перестает работать и выдается какая-то ошибка странная (забыл уже конкретно какая). Эта ошибка не гуглится и не исправляется вообще никак. Но если удалить node_modules и переставить заново, то все работает.
Ну так рефакторинг закладывается на оценке задачи. Все, кроме вас на покере выдают оценку 3, а вы — 6. Вас спрашивают почему. Вы говорите «ну вот тут надо переписать». Начинается обсуждение, в котором вопрос всесторонне рассматривается. Проводят следующий раунд, и или вы с командой соглашаетесь и показываете оценку 3. Или команда с вами и выдает оценку 6. Или все сойдутся на оценке 4.
Также, ни разу не видел измерителя голода, чтобы продавался.
Я не думаю, что дисциплина вообще существует. Типа, мы называем дисциплинированным человека, когда мы видим, как он занимается каким-то делом. Но если кто-то назовет сам себя дисциплинированным, это будет звучать больше как какой-то нарциссизм.
Это тоже нормально. Это естественная, полезная реакция организма, чтобы вы попробовали другие пути. Один из самых эффективных обходных путей — попросить помощи у сообщества.
Хабр — отличное место для решения таких задач. И у вас хорошая карма.