@typescript_ru

Страница 142 из 669
Alexander
27.12.2016
11:16:42
Где-то глубоко в памяти на уровне первого курса зашевелился червячок

явно не Козуля
Как ты догадался?!

Ҫѐҏӗѫӑ
27.12.2016
11:17:24
интуиция хорошая

Alexander
27.12.2016
11:17:30
Ни одного вопроса про мемасы :(

Google
Vladimir
27.12.2016
11:17:30
Ну Козуля вряд ли знает, что это

Ҫѐҏӗѫӑ
27.12.2016
11:17:35
к Козуле когда пойдешь?

Alexander
27.12.2016
11:17:49
Когда его эйчар начнет читать почту

Видимо, еще обедает

Anatoly
27.12.2016
13:52:39
Кто-нибудь работал с tslint через API ?

Там документация не соответсвует содержимому кода, валятся ошибки

Нашёл, https://github.com/palantir/tslint/blob/4a33a4b8c174dbe53aa894f88c5e79d77c06419c/docs/usage/library/index.md

Спрашивается, зачем обновлять дефолтное readme

Aleh
27.12.2016
18:34:39
Отправь pr :)

давайте за подходы поговорим, кому какой вариант больше нравится? https://gist.github.com/mkusher/d8b9a30c53da83f01341bfc6fa218900

Anatoly
27.12.2016
20:30:23
Если расширение функциональности не планируется (хотя бы в ближайшее время точно), то я бы выбрал вариант 2.

Anatoly
28.12.2016
06:46:22
Как я понял, тут привязка к реакту, но я с ним не работаю, поэтому в этом контексте мнение выразить не могу :) А если брать чисто ООП и проектирование, то по мне методы аля handleSomeCommand, если их будет больше > 1 и все они имеют похожий контекст, лучше завернуть в класс. Я бы сделал так.

Google
Nikita
28.12.2016
10:09:37
2 вариант

Aleh
28.12.2016
10:10:02
Он банально короче :))

Nikita
28.12.2016
10:10:05
1 тебя приведет к говнокоду вида this.foo = something; и где-то в другом месте этот this.foo ты захочешь получить

Nikita
28.12.2016
10:10:31
2 вынуждает стейт хранить более явно

Aleh
28.12.2016
10:10:48
private ж есть. Сервисы такие всегда stateless

Nikita
28.12.2016
10:11:12
всегда кроме тех случаев, когда горит) говнокод не на ровном месте рождается

Aleh
28.12.2016
10:11:34
Когда горит, не будет времени делать сервисы и будет все во вьюхах

Nikita
28.12.2016
10:12:22
ну это когда уже пригорает ?

Aleh
28.12.2016
10:12:51
Мне второй нравится больше по след причинам: 1. Короче на 2!!! Строки 2. Не юзает декоратор 3. Не юзает private

Alexander
28.12.2016
10:15:59
В первом я просто не понимаю, зачем так писать, потому что я так никогда не писал)

Aleh
28.12.2016
10:16:08
:))

Aleh
28.12.2016
10:18:41
Жависты и шарперы которые привыкли свои процедуры в классы объединять говорят, что "непонятно" :(

А оопшникам второй нравится

Dreamerinnoise
28.12.2016
10:20:53
наверное из-за "что за непонятняа аннотация у тебя там"

Aleh
28.12.2016
10:21:06
Так непонятно второе

А первое как раз понятно

Google
Dreamerinnoise
28.12.2016
10:21:30
>А оопшникам второй нравится

ничего не понял

Aleh
28.12.2016
10:22:01
Не знал, что жависты и шарперы в большинстве не знают ооп?

Dreamerinnoise
28.12.2016
10:22:48
наверное, среди моих знакомых жавистов ооп все знают хорошо

Aleh
28.12.2016
10:22:52
Объединять процедуры в классы с общими данными != ооп

Nikita
28.12.2016
10:23:35
интерфейсы, абстрактные классы, фабрики - вот это все!

Aleh
28.12.2016
10:24:18
И наследование, чтобы победить дублирование )))

Ҫѐҏӗѫӑ
28.12.2016
14:53:28
сколько нас? ?

Михаил
28.12.2016
14:59:01
Безумие? Это Тайпскрипт!

Aleksey
28.12.2016
15:33:08
Я был тем самым?

Ҫѐҏӗѫӑ
28.12.2016
15:35:51
да

Aleh
28.12.2016
22:32:54
кто-нибудь юзает? https://github.com/angular/tsickle

Ҫѐҏӗѫӑ
28.12.2016
22:37:19
неа, но идея клевая

с другой стороны, gcc так же не умеет новые фичи языка

Alexander
28.12.2016
22:50:29
на es6 застрял?

его-то он вроде умеет

или не весь?

Vladimir
28.12.2016
22:51:00
вы что курите там?

WeedJS?

Alexander
28.12.2016
22:51:14
google closure compiler

Google
Vladimir
28.12.2016
22:51:27
а

скучно с вами

все про джс

Alexander
28.12.2016
22:51:56
мне знание этой расшифровки gcc помогло, лол

чуваки задали вопрос как я буду оптимизировать приложение которое грузится из 20 скриптов весом в 20 мегабайт

правильный ответ был бы выкинуть его нахуй, конечно

Ҫѐҏӗѫӑ
28.12.2016
23:20:24
мне знание этой расшифровки gcc помогло, лол
я сначала тоже охуел от этой аббревиатуры, когда первый раз встретил

Admin
ERROR: S client not available

Ҫѐҏӗѫӑ
28.12.2016
23:21:02
но набирать реально удобнее

Aleksey
29.12.2016
05:41:34
Ребят, а поясните за интерфейсы, они есть во flow или нет (в рамках объявления класса)? Гуляю по issue, инет с перебоями, а как использовать хочется сейчас узнать. export class A implements IModule пишет что implements not supported. Пока так нельзя (в TS вроде все ок с этим, да?)?

Как задекларировать обязательные методы для класса? Желательно чтобы интерфейс был у родителя. export class Env extends Module {} А у Module как-то прописать методы которые должны быть у его наследников.

Я может фигню пишу, хочу понять как лучше. Цель описал выше – сделать обязательными некоторые методы у наследников без которых бы валилось. Еще интересно как сделать обязательными статичные свойства у наследников.

И еще вопрос: спрашивал про необязательные свойства в типе, мне фигню насоветовали (ставить у свойства ?): type SomeType = { optionalProp?: string; requiredProp: string }. Так это вообще не работает, в доке тоже этого не вижу, optionalProp всегда undefined, ощущение что мне втерли какую-то дичь, и flow это опускает просто. Без ? все прекрасно работает (даже когда в объекте нет такого свойства). Я прав?

Vladimir
29.12.2016
08:30:41
Нет

Aleksey
29.12.2016
08:38:56
Нет
Спасибо!

Aleh
29.12.2016
10:01:17
Ребят, а поясните за интерфейсы, они есть во flow или нет (в рамках объявления класса)? Гуляю по issue, инет с перебоями, а как использовать хочется сейчас узнать. export class A implements IModule пишет что implements not supported. Пока так нельзя (в TS вроде все ок с этим, да?)?
в ts можно, но не очень нужно. Если ты хочешь явно проверить, что твой класс реализует интерфейс/тип, то можешь просто в тесте для него добавить аннотацию типа, аля const myObj: SomeType = new SomeClass что касается наследования, то лучше избегать его

Dreamerinnoise
29.12.2016
10:33:57
https://github.com/inversify/InversifyJS Кто юзал?

Alexander
29.12.2016
11:28:31
как же неудобно без интерфейсов. опечатался в имени поля и сидишь 5 минут ищешь ошибку.

Ҫѐҏӗѫӑ
29.12.2016
12:16:50
Google
Ҫѐҏӗѫӑ
29.12.2016
12:16:59
но не могу сказать ничего интересного

на синтетическом минимальном примере оно работает

Aleh
29.12.2016
12:24:34
хз, как по мне так усложнение

Dreamerinnoise
29.12.2016
12:25:05
Di хочу

Aleh
29.12.2016
12:25:14
мы руками делаем

и норм

Dreamerinnoise
29.12.2016
12:25:33
Не хочу руками xD

Vladimir
29.12.2016
12:26:06
Нужен безопасный DI

Не знаю даже, бывает ли такой

Aleh
29.12.2016
12:26:25
что значит безопасный?

Vladimir
29.12.2016
12:26:55
Чтобы тапчекер гарантировал резолв всех зависимостей

Aleh
29.12.2016
12:27:13
ну если руками делать, то тайпчекер натравливается на файл, в котором это все есть

и вуаля)

безопасная инъекция зависимостей в конструкторы

Vladimir
29.12.2016
12:27:47
Ну это да

Геморрой просто

Aleh
29.12.2016
12:29:11
не сказал бы, что прям геморно

Dreamerinnoise
29.12.2016
12:31:08
Парит ещё то, что там какая-то reflect-metadata подключается, назначение которой мне пока не совсем ясно. Нг2 её тоже юзает

Dreamerinnoise
29.12.2016
17:28:45
Aleksey
29.12.2016
17:29:15
И то и другое
Я bottlejs использую.

Страница 142 из 669