Size: a a a

2020 October 26

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
тип имеет смысл объявлять только у полей, аргументов, возвращаемом значении и в случаях где тс не справился и вы знаете лучше
Не соглашусь, тип зачастую следует объявлять, чтобы быть уверенным в том, что здесь будет ожидаемое поведение, иначе, автоматически собранный тип может впоследствии поломать логику.
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
если вам так сильно нужно понимать тип спульте ветку и смотрите диф в иде)
Ох, так я себе это и представляю, как люди по кругу пуляют ветки друг друга
источник

AP

Alexander Ponomarev in Svelte [svelt]
если у вас стрикт мод, то ничего нигде не поломается. для локальных переменных тип нужен очень редко
источник

AP

Alexander Ponomarev in Svelte [svelt]
Alex Kaz
Ох, так я себе это и представляю, как люди по кругу пуляют ветки друг друга
и что в этом плохого?
источник

AP

Alexander Ponomarev in Svelte [svelt]
не понимаешь из гитлаба/хаба - смотришь локально
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
если у вас стрикт мод, то ничего нигде не поломается. для локальных переменных тип нужен очень редко
представим, что компонент импортирует много чего, типа которого мы не знаем, но хотим понимать результирующий тип, чтобы тот совпадал, к примеру, с каким-нибудь интерфейсом.
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
и что в этом плохого?
время разработки увеличивается
источник

AP

Alexander Ponomarev in Svelte [svelt]
спулить ветку это 10секунд делов)
источник

AP

Alexander Ponomarev in Svelte [svelt]
если вы перешли на ревью вы же не разрабатываете пока ревьювите
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
спулить ветку это 10секунд делов)
спулить, собрать или натравить vs code 🙂 потом обратно вернуться в дифф и проделжать искать такие computed переменные) да, прям 10 секунд
источник

AP

Alexander Ponomarev in Svelte [svelt]
Alex Kaz
представим, что компонент импортирует много чего, типа которого мы не знаем, но хотим понимать результирующий тип, чтобы тот совпадал, к примеру, с каким-нибудь интерфейсом.
нужен пример конкретнее
источник

AP

Alexander Ponomarev in Svelte [svelt]
Alex Kaz
спулить, собрать или натравить vs code 🙂 потом обратно вернуться в дифф и проделжать искать такие computed переменные) да, прям 10 секунд
а заставлять людей писать борщ борщ = нью борщ это норм)
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
нужен пример конкретнее
я даже не знаю, что может быть конкретнее. ну вот импортируешь ты функцию из другого модуля (файла), а переменной тип не указал, ожидая, что там
number
, завтра эту функцию переписали и она стала отдавать
string
. по началу можно ошибку не словить, если к примеру, эта переменная участвует в template string, но завтра ты захотел дописать логику и понял, что поведение отличается от ранее запланированного.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Alex Kaz
я даже не знаю, что может быть конкретнее. ну вот импортируешь ты функцию из другого модуля (файла), а переменной тип не указал, ожидая, что там
number
, завтра эту функцию переписали и она стала отдавать
string
. по началу можно ошибку не словить, если к примеру, эта переменная участвует в template string, но завтра ты захотел дописать логику и понял, что поведение отличается от ранее запланированного.
для template string почти всегда все будет ок, в других случаях на несовместимом типе ТС упадет. Их достаточно писать только для аргументов функций\методов, возвращаемого типа и полей классов. Тогда у вас будут барьеры где будет валидация и падения компиляции в случае ошибки
источник

AK

Alex Kaz in Svelte [svelt]
Марк Танащук
Если будут взаимодействовать 5-15 человек или больше, то мне кажется может лучше использовать Vue/React

Сам начинал разрабатывать (как мне кажется) немалые проекты, такие как визуальный редактор и сервис обработки css и разработка шла гладко.

Правда они застопорились на процентах 60 из-за моей основной работы, так что не смогу сказать какие могут быть камни преткновения в финальных стадиях разработки.

Но могу точно сказать что до третьих-четвертых тысяч строк разработка идет удобно и вполне без проблемно.
У нас в команде больше 10 человек и проект на наксте, и мне кажется, что даже 5 человек - это уже много, просто код успевает так быстро меняться из-за структуры проекта, что где-то остаются неиспользуемые модули стора при замене их на новые, где-то наоборот, остаются ссылки на старые модули, хотя их уже нет и в рантайме получаем ошибку. Сама идея централизованного vuex мне видится ошибкой, но, к сожалению, во vuex4 ничего не поменяли, а
posva/pinia
прототип.

Вечные холивары, что выносить в BaseComponents - это просто цирк, потому что компоненты зачастую нельзя делить по назначению, но зато можно по использованию стора.

Ну и vue3 с его валидацией пропсов пока еще недостаточно хорош. Как пример, валидация с union будет приводиться к вмещающим типам, например
1 | ‘hello’
будет
[Number, String]
. Свелт на
validate
скажет ошибку. Да и вообще, сама идея с
setup="props"
кажется каким-то костылем.

Про реакт с его плагинами для eslint, которые сами расставляют список зависимостей даже говорить не хочется.
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
для template string почти всегда все будет ок, в других случаях на несовместимом типе ТС упадет. Их достаточно писать только для аргументов функций\методов, возвращаемого типа и полей классов. Тогда у вас будут барьеры где будет валидация и падения компиляции в случае ошибки
Про навешивание типов только на аргументы функции и объекты - согласен, я сам не любитель навешивать типы на локальные переменные. Но не в случае, когда внешний код может мне поломать логику.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Я работаю с реактом на ТСе в продукте над которым работают одновременно гораздо больше 10 человек. Про плагины для eslint я не понимаю даже о чем речь. Может у вас что-то просто неправильно настроено. С вуем я не работал, но слышал что поддержка ТСа там в принципе не торт.
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
Я работаю с реактом на ТСе в продукте над которым работают одновременно гораздо больше 10 человек. Про плагины для eslint я не понимаю даже о чем речь. Может у вас что-то просто неправильно настроено. С вуем я не работал, но слышал что поддержка ТСа там в принципе не торт.
плагины для хуков для расстановки зависимостей на разные use<Name>.
источник

AK

Alex Kaz in Svelte [svelt]
Alexander Ponomarev
Я работаю с реактом на ТСе в продукте над которым работают одновременно гораздо больше 10 человек. Про плагины для eslint я не понимаю даже о чем речь. Может у вас что-то просто неправильно настроено. С вуем я не работал, но слышал что поддержка ТСа там в принципе не торт.
Вы какой стор пользуете?
источник

AP

Alexander Ponomarev in Svelte [svelt]
Alex Kaz
Вы какой стор пользуете?
Редакс, но он не централизован и не везде нужен. Сложная история.
источник