
Max
26.07.2018
11:20:13
https://habr.com/company/piter/blog/418157/
ох как тут подгорело...
>> Это же тот мракобес, который любую проблему решает еще одним декоратором:

Roman
26.07.2018
11:25:56
new If()
неплохо...

f4rt~
26.07.2018
11:26:03

Google

code4aman
26.07.2018
11:35:59

Sergey
26.07.2018
11:41:27
даже ФП-никам бы понравилось (ибо нет управляющих структур - есть функции))

Roman
26.07.2018
11:42:27
ну это же не смолтолк
в джаве это зачем

Sergey
26.07.2018
11:43:00
просто так)
потому что Егор упорот

Roman
26.07.2018
11:43:36

Aleh
26.07.2018
11:50:33
а еще представь, что был бы единый интерфейс работы. Зачем тебе булево значение, если может быть объект с каким-нибудь методом аля then
и такой же метод например у futures с такой же сигнатурой, а еще у какого-нибудь either
теперь не надо выдумывать хитрые правила приведения к булу в if(), теперь у тебя есть просто метод и если хочешь, чтобы и твой объект можно было так использовать - делаешь ему метод then с такой же сигнатурой

Roman
26.07.2018
11:56:12

Google

Mykola
26.07.2018
13:40:41
мдя... днище)

Aleh
26.07.2018
13:41:21
если по аналогии с js синтаксисом, то было бы чето типа
true.then(() => 1, () => 2)
false.then(() => 1, () => 2)

Sergey
26.07.2018
13:43:52
if(condition).then(success, faiture)

Aleh
26.07.2018
13:44:06
if лишний тут)

Sergey
26.07.2018
13:44:20
почему?)
хз мне лень читать о чем вы

Aleh
26.07.2018
13:44:32
condition.then(success, failure)

Sergey
26.07.2018
13:44:45
а ну да
логично

Mykola
26.07.2018
13:49:30
как всегда, афтар пишет "синглтон это плохо нет прощения сразу в ад", и не обьясняет почему плохо то
апологет собственного мнения)

Борис
26.07.2018
14:22:42
Гребаные математики, не доказали что две прямые на плоскости могут пересечься только в одной точке. Апологет собственного мнения

Sergey
26.07.2018
14:26:21

Борис
26.07.2018
14:29:00
ты точно не пропустил слов в моем предложении?

Nikolay
26.07.2018
16:14:30

Igor
26.07.2018
16:18:07
Что была стат. типизация ?

Sergei
26.07.2018
19:27:42
автокомплит гугла не глобален, а на основе того что ты искал в нём раньше

Aleh
26.07.2018
19:29:02

Sergei
26.07.2018
19:30:11

Google

ivan
27.07.2018
03:48:17

Andrey
27.07.2018
03:49:21
Бугаенко одобряет.

Ilia
27.07.2018
06:43:03
Зато все понятно!

Sergey
27.07.2018
07:54:12
вот что только люди не делают лишь бы функции не писать

ivan
27.07.2018
07:54:55

Bohdan
27.07.2018
07:55:02

Sergey
27.07.2018
07:55:39

ivan
27.07.2018
07:56:21

Sergey
27.07.2018
07:57:47
а в чем проблема?
а, точняк, в php-ж параметризованные типы это что-то дикое и не нужное....
Я к тому что если тебе надо достать рандомный элемент из списка тебе не надо знать тип элементов списка
иначе тебе придется делать всякие RandomInt, RandomBool, etc

ivan
27.07.2018
07:58:36

Denis
27.07.2018
07:59:16

Sergey
27.07.2018
07:59:49

Denis
27.07.2018
08:00:12
Ну там где нет алгебраичных типов данных

Sergey
27.07.2018
08:00:41
в phpdoc можно описать)
в php конкретно проблема еще в том что люди почему-то думают что типы должны в рантайме проверяться
(и по этой причине нету у тебя дженериков там, потому что оч большая нагрузка на рантайм))

Denis
27.07.2018
08:02:25
Просто гении

Google

ivan
27.07.2018
08:02:31
в phpdoc можно описать)
Это вариант. Но я пошел другим путем. И один раз пишу класс RandomString и всегда его юзаю.
А можно везде юзать 1н класс RandomElement (или фцию) и везде прописывать доку.

Sergey
27.07.2018
08:02:49
отрой для себя psalm
/**
* @psalm-template T
* @psalm-param T[] $list
* @psalm-return T
*/
function randomElement(iterable $list) {
}

Admin
ERROR: S client not available

Sergey
27.07.2018
08:04:51
а лучше попробуй какой-нибудь функциональный язык. Даже тот же typescript, что бы не особо переучиваться и что бы профит был

Denis
27.07.2018
08:05:56

ivan
27.07.2018
08:06:04

Sergey
27.07.2018
08:06:12
это тоже

Denis
27.07.2018
08:06:14
Да есть же вроде Flow для пхп

Sergey
27.07.2018
08:06:29
есть yay который позволяет тебе добавить в php все необходимое для описания типов, можно научить psalm это дело понимать и лучше типы выводить
но объемы работы астрономические

ivan
27.07.2018
08:08:35
Инспекция написана на kotlin для php
Все публичные методы должны быть описаны в интерфейсе.

Ivan
27.07.2018
08:09:26
что это за редактор такой интересный?

Sergey
27.07.2018
08:09:31

ivan
27.07.2018
08:09:48
https://carbon.now.sh/

Sergey
27.07.2018
08:10:06

ivan
27.07.2018
08:10:39

Google

ivan
27.07.2018
08:10:54

Sergey
27.07.2018
08:11:37

ivan
27.07.2018
08:11:41
))
в kotlin нету new ))

Sergey
27.07.2018
08:12:59
в kotlin нету new ))
я вкурсе) я к тому что с целью имутабельность делать это норм. У тебя ж там не совсем как в примере с рандом стринг - там у тебя описание правил меняется

ivan
27.07.2018
08:14:25

Sergey
27.07.2018
08:15:09
понимаю, я как бы треть времени на typescript пишу

ivan
27.07.2018
08:17:30
Все это я вел к тому Егор норм чувак. У него много фантастических идей, но я для себя вынес определенные идеи и начал лучше писать код.
https://www.youtube.com/watch?v=AshxbePAbCM веселый и прикольный батл))

Sergey
27.07.2018
08:23:01
занятно что он интервьировал Дэвида Вэста, но не интервьюировал Алана Кея. Случай когда Алан случайно зашел в комменты в его блог не всчет
https://www.yegor256.com/2017/12/12/alan-kay-was-wrong.html - вот тут в комментиках Алан рассказывает в своей манере что такое ООП)

ivan
27.07.2018
08:25:55
я не супер догоняю SOLID, но для меня Single Responsibility основная фишка декораторов и всей парадигмы которую пропагандирует Егор

Sergey
27.07.2018
08:28:39