
Вертихвост
09.09.2017
22:52:46
сложный вопрос)

Mike
09.09.2017
22:56:39
почему у меня вчера постоянно выпадали 2 4 и 3 5, а сегодня J K и Q A?)
позволю себетут один раз ответить и больше в тс чате не холиварить.
Часто такие вопросы задают. Но на самом деле там всё честно. Для каждой раздачи(или как там раунд называется) формируется колода и шафлится много раз. На самом деле я не серверник, но там всё по человечески сделано, нам же без разницы кто выигрывает, мы только фишки продаём желающим.

Вертихвост
09.09.2017
22:57:26

Google

Mike
09.09.2017
22:58:40
да и похер тогда
на самом деле можно рисёч провести про то как сейчас импорты пашут в ide и может на них перееду.
меня всегда в технологиях интересует момент удобства применения. Я не вижу реальных проблем ни в импортах ни в глобалах, вопрос лишь в том как на этом писать код. И если можно делать меньше телодвижений то я предпочту их делать меньше.

Вертихвост
09.09.2017
23:01:36
Реального применения просто нет, либо только в приватных проектах

Дима
09.09.2017
23:57:42

Ҫѐҏӗѫӑ
10.09.2017
00:52:39
^ ?

andretshurotshka?❄️кде
10.09.2017
05:44:24
жесть

Mikhail
10.09.2017
05:44:36
Вопрос по Flow: Генерики можно как-то использовать для установления связи для типов двух пропов в объекте? Вот что я пытаюсь сдлеать, но Flow не ругается когда должен: https://goo.gl/SpvLSJ

andretshurotshka?❄️кде
10.09.2017
06:14:17
@flowtype_ru

Дмитрий
10.09.2017
06:16:53
Наверное, с телефона реплы не робят ?

Mikhail
10.09.2017
06:17:36
Спасибо люди
Попробую разобраться, если не получится обращусь в тот чат

Google

Ivan
10.09.2017
13:04:00
ооо, и тут срач был про импорты? Я считаю что import/export только на верхнем уровне можно юзать, когда чужую либу там или соседний модуль. внутренние должны быть неймспейсы, потому что там классов может быть очень много.

Вертихвост
10.09.2017
13:04:33

Ivan
10.09.2017
13:04:35
неймспейсы это очень хорошее дерево, а import это хрен знает какой ориентированный граф без циклов

Вертихвост
10.09.2017
13:05:12
Если есть возможность поделиться опытом, то было бы здорово.

Ivan
10.09.2017
13:05:18
когда разработчик phaserjs пишет несколько десятков файлов в папке Math, а каждый по лишь одной мат. функции, то это маразм
опять же, если понадобиться подрубать из Scalajs или GWT или Kotlin или хакса, то тоже будет очень весело
у меня опыт разработчика на джаве/котлине.
к сожалению, пока что у меня нет демки как блин сделать на верхнем уровне import а внутри всё неймспейсы, у меня тупо везде неймспейсы ) но надеюсь в этом году будет и статьёй это всё покрыть

Вертихвост
10.09.2017
13:11:59

Ivan
10.09.2017
13:12:18
да, npm позволил разводить кучу модулей по десятку-сотне строк. С одной стороны удобно, с другой хрен его знает что там может твориться когда оно всё в месте работает. В maven-репах как-то получше с этим балансом

Дмитрий
10.09.2017
14:14:44

Ivan
10.09.2017
14:15:39
https://github.com/photonstorm/phaser/tree/master/v3/src/math
вот оно это адище

Дмитрий
10.09.2017
14:16:24
Ииии
Я не понимаю где ты видишь связь между отдельным упоротым проектом и импортами
Нет ничего хуже чуваков приперевшихся с джавы которые лучше знают, как в тс нужно пользоваться импортами
Это я тебе как чувак пришедший с джавы говорю

Ivan
10.09.2017
14:24:01
а я не перешёл. Я использую вообще всё :)
"отдельный упоротый проект" это html5 движок с самым большим community

Google

Ivan
10.09.2017
14:25:49
так что по импортам реально упарываются, и в результате на другие языки этот код потом хер портируешь. а чтобы заюзать приходится вручную делать тайпинги в которых этого ужаса нет
я считаю всё ведёт к одному языку и набору фич соответствующих платформам. Нельзя вот так просто взять и сказать что неймспейсы не нужны потому что вдруг изобрели импорты
всё нужно в меру
и форс import/export как единственно верной модульности для браузерной платформы это полный пипец

Aleh
10.09.2017
14:31:33

Вертихвост
10.09.2017
14:32:24
Зачем впадать в крайности?

Aleh
10.09.2017
14:32:36
неймспейсы просто устаревшее, не самое удачное решение

Вертихвост
10.09.2017
14:33:48

Aleh
10.09.2017
14:33:56
esm более удачное
и принятое в сообществе
https://basarat.gitbooks.io/typescript/docs/project/namespaces.html
> For most projects we recommend using external modules and using namespace for quick demos and porting old JavaScript code.
это конечно не значит, что если у вас есть проект с 2012го года на ts, то надо весь его в один момент перепилить
в выборе namespace vs modules рекомендуется всегда выбирать modules, но если есть какие-то особые причины(какой-то костыль для тса или для совместимости с чем-то), то namespace пока тоже может чем-то помочь

Вертихвост
10.09.2017
14:38:00
Просто вы так говорите о модулях, как будто в них есть одни лишь плюсы ?

Aleh
10.09.2017
14:38:11
плюсы это в си там

Дмитрий
10.09.2017
14:38:44

Aleh
10.09.2017
14:40:22
если альтернативой было все в глобалы)

Дмитрий
10.09.2017
14:44:10
Ну да) Хорошо что сейчас 2017

Aleh
10.09.2017
14:44:37
а, ну еще
> https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html
Starting with ECMAScript 2015, modules are native part of the language, and should be supported by all compliant engine implementations. Thus, for new projects modules would be the recommended code organization mechanism.

Google

Aleh
10.09.2017
14:46:12
ну т.е. если аргументы только уровня “я так привык в других языках”, то они мне кажутся менее значимыми, чем рекомендации в доке

Ivan
10.09.2017
14:48:48
это сводится к тому кто какой обход графа любит.

Aleh
10.09.2017
14:49:21
“кто как любит” это что-то уровня “я привык так в других языках"

Вертихвост
10.09.2017
14:49:39

Aleh
10.09.2017
14:50:23

Вертихвост
10.09.2017
14:50:44

Ivan
10.09.2017
14:50:48
это сводится к тому как представлять граф зависимостей, и оба способа легальны и должны быть представлены.

Aleh
10.09.2017
14:51:12
Это нужно поддерживать
это поддерживается большим-большим коммунити, техническим коммитетом и разработчиками языка. Про какую поддержку мы говорим?

Вертихвост
10.09.2017
14:52:07

Aleh
10.09.2017
14:52:16
в смысле надо писать export около класса или что?

Вертихвост
10.09.2017
14:52:48

Ivan
10.09.2017
14:53:44
проблема в том что одно из фундаментальных понятий признают "устаревшим" в пользу другого, и хотя применимость сильно пересекается, всё же по-одиночке ни одно всего не решает.

Вертихвост
10.09.2017
14:54:13
Есть папка с модулем, в ней находится index.ts. В нем прописан export того, что должно выходить наружу.
Если происходит изменение этого модуля, напрмер новый класс добавили, то необходимо править index.ts в этом модуле

Ivan
10.09.2017
14:54:56
вот пожалуйста: https://github.com/photonstorm/phaser/blob/master/v3/src/math/index.js

Вертихвост
10.09.2017
14:55:16
Дело не в количестве экспортов, а в том что это приходится делать
Это необходимо контроллировать

Дмитрий
10.09.2017
14:58:11
Пацаны из респектабельных языков удивляются приоритету явного перед неявным; комедия

Google

Ivan
10.09.2017
14:58:42
понятно что в случае неймспейсов приходится контролировать порядок конкатенации чтобы правильно инициализировать всё.
поэтому нельзя эти два решения сводить друг к другу

Дмитрий
10.09.2017
14:59:07

Aleh
10.09.2017
14:59:26
а в каких языках есть аналог именно таких namespace, как в ts?

Ivan
10.09.2017
14:59:53
знаете что? вот есть офигенная неявность - Garbage collector
и в JS и в Java и во всех этих языках
давайте её уберём.

Дмитрий
10.09.2017
15:00:09
???

Ivan
10.09.2017
15:00:14
чтобы было всё явно, когда уничтожаются объекты

Aleh
10.09.2017
15:00:22

Friedrich
10.09.2017
15:00:25

Aleh
10.09.2017
15:00:40