Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 September 05

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
В данный момент да, вы же отвечаете на мои сообщения
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
есть уже много статей про подводные камни в тс.
источник

И

Иван in NodeUA - JavaScript and Node.js in Ukraine
Не понимаю, о чем вы
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Я считаю typescript в данный момент очень слабым языком в подавляющем большинстве случаев не несущим значительной добавленной ценности, а иногда и несущим ее со знаком минус

Другими словами, тс неявно (и это ключевая претензия) накладывает очень много требований к компетенциям людей как пишущих код, так и читающих его (можно почитать выше дискуссию про keyof и контрвариантность как хороший пример такой ситуации)
источник

АБ

Артур Бердыев... in NodeUA - JavaScript and Node.js in Ukraine
В том то и дело, что подводные камни есть, но это справедливо для любого инструмента достаточно сложного и большого. С таким спехом можно и асамблер завалить за "подводные камни"
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
я к тому что все проблемы тс (кстати благодаря хейту и за это огромное спасибо) уже прекрасно всем кому интересно - известны и освещены.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Так зачем вы пишете то, что противоречит общеизвестным вещам?
По поводу либ - по прежнему не понимаю этот аргумент. Вот использую я, например, Newtonsoft.Json
Какая мне разница есть ли в нём использование nullish coalescing или чего-то ещё? Я бизнес-логику вроде как пишу, а не отслеживаю как там либы реализованы
Это даже я не буду докапываться до того, откуда выдумана статистика про то, что почти все либы не null safe, и не буду предлагать оценить либы с npm
А если возвращаться к сравнению языков (хотя я не очень хотел это делать) - в ТС есть те же возможности для дженериков, что даёт шарп? Атрибуты для стического анализа (docs.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/nullable-analysis) ?
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
https://www.typescriptlang.org/play?#code/MYewdgzgLgBApgGxgXhgExMArgWzmKAOgEcs4AnATwGVE5goRyAKAcgENWBKAbgCg+oSCARxCCEAHNmfGPASEAlmDAUAKnAAeRRgBlM7UfoDuFAMLsIcZlz62+QA

Обратите внимание что в этом маленьком примере ts понимает, что я хочу получить ссылку, базируясь на переданном аргументе (что оч круто и подобного я не встречал где то еще), так это еще и null safe по умолчанию. Это же прям пушка.
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
К сожалению вы не до конца понимаете то о чем я говорю. У нас видимо просто разные уровни "наболевшести" от дот нета и шарпа :) Будем надеятся что js, ts и C# c годами будет становится только лучше, а мы счастливее :)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
А о чём вы говорили когда писали что в шарпе компилятору пофиг?
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Не включенно по умолчанию,но даже если Вы скажите компилятору делать проверки, он не даст гарантий для либ (которые эту фичу не юзают). В ts же null safety по умолчанию работает та и скаждой версией стандартная либа для веба обновляется и улусшается в сторону строгости. пример выше я скинул
источник

АБ

Артур Бердыев... in NodeUA - JavaScript and Node.js in Ukraine
А отсутствие типов и контрактов, точнее автоматической проверки большинства из них, за исключением ваших примеров, и необходимость "вложиться" в другие способы проверки будь то более строгое тестирование или тщательное код ревью, разве эти вещи также не накладывают этой самой нагрузки на разработчиков? И разве эти вещи не подвержены в той же степени а то и большей(человеческий фактор) ошибкам и багам?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Я вроде бы детально раскрыл этот аргумент в последнем докладе - тайпскрипт лучше чем ничего, но для ситуации совокупности с другими инженерными практиками направленными на минимизацию ошибок - он имеет минимальную ценность
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
То есть грубо говоря пользы от внедрения дизайн ревью на единицу времени вы получите сильно больше чем от применения тс
источник

И

Иван in NodeUA - JavaScript and Node.js in Ukraine
Может, не стоит расценивать typescript как средство минимизации ошибок? 🤔
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Я расцениваю typescript как инструмент разрадотки, чья задача - дать мне больше бизнес велью на дистанции чем его отсутствие
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Фактически это достигается условно двумя вещами - меньшим количеством ошибок, лучшим "автокомплитом" (как упрощенное восприятие dx)
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Что касается автокомплита - отрицать что он с тс лучше было бы глупо. Здесь я придерживаюсь позиции что на крупных проектах где это становится важно условный tabnine уделает по полезности автокомплит ts по всем статьям (прежде всего из-за способности "понимать" принятый стиль в проекте и удерживать его консистентность)
источник

AJ

Abu JS in NodeUA - JavaScript and Node.js in Ukraine
🍿
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
А что именно не включено по умолчанию? Нельзя использовать ?.
Конечно сложно от фразы "компилятору пофиг" дойти до "по умолчанию настройки..." (правда ещё непонятно что именно настройки ро умолчанию гр позволяют сделать)
источник