
Sergey
12.04.2018
10:40:18
extends RsPage
@yegor256 выступает против имиплементационного наследования. Я здесь с ним не совсем согласен с точки зрения SOLID, но это долгая история.

Functor
12.04.2018
10:41:11
Объясню почему ооп в 2к18 нинужно по одному тут @hcdev

Like
12.04.2018
10:41:48

Adel
12.04.2018
10:42:31

Google

Sergey
12.04.2018
10:44:07

Mykola
12.04.2018
10:44:54
Так а что значит "дополнительно". Вот открыл класс, вот у него extends/implements есть. Ничего больше открывать не надо, чтобы узнать что класс наследует. Все что относится к классу находится в его модуле - его имя, его родители, его поля/методы, его документация в конце концов. Если класс при этом максимально cohesive, то он будет с большой вероятностью убираться на один экран. И пофиг как бы что его зовут RsPage, ибо сразу за именем будет implements Response
Если тебе нужно открыть класс, чтоб что-то понять, значит ты наговнокодил. Понимание должно идти сверху вниз, а не наоборот.

F01134H
12.04.2018
10:44:58

Like
12.04.2018
10:46:42

F01134H
12.04.2018
10:47:15
какой нах сарказм?
зная тебя, я бы предположил, что ты таким образом себя на админку выдвигаешь
)

Like
12.04.2018
10:48:37

Sergey
12.04.2018
10:54:53

Mykola
12.04.2018
10:57:51
Дело не в зависимостях, а в семантике. Если у тебя код правильный, но буквы в нём кривые, то понять его сложнее. Дер

Sergey
12.04.2018
11:00:36

code4aman
12.04.2018
11:01:14

Google

Mykola
12.04.2018
11:06:24
А так же оно будет в сетапе di

code4aman
12.04.2018
11:09:08

Mykola
12.04.2018
11:09:44
Надо почитать

Sergey
12.04.2018
11:12:01
А так же оно будет в сетапе di
Сетап di/Егоровы пирамидки - это конкретика. Там по определению никуда от них не денешься. И камон - о чем мы спорим? Ну не нравится Rs, можно сделать PageResponse, вопрос конвеншенов. Че такого то

Mykola
12.04.2018
11:12:52
Об этом и спорим. Здравый смысл против конвеншнов

Sergey
12.04.2018
11:13:35

Mykola
12.04.2018
11:14:15
Закладывать оптимально информацию в сигнатуры, а не ссылаться на конвеншны

Sergey
12.04.2018
11:16:04

Mykola
12.04.2018
11:19:48
Сигнатура - это имя в первую очередь. Сигнатура класса. Она будет так или иначе где-то использована.
И лучше бы она несла какую-то информацию, а не заставляла копать код

Sergey
12.04.2018
11:22:01
Ну да. В di конфигах и будет. Либо в композиционных пирамидках если по EO. И один хрен увидев эти имена первый раз, хочешь-нехочешь а придется туда заглянуть хотя бы разок. А это значит что мы спорим исключительно о вкусовщине. Предлагаю закончить.
Я практиковал эту схему с префиксами, она не несла таких уж прям неудобств. Субъективно
Когда количество абстракций в одном джарнике вменяемо, эти префиксы быстро запоминаются. Но опять же - ничто не мешает юзать альтернативный нейминг.

Adel
12.04.2018
11:44:41

Sergey
12.04.2018
11:49:21

Adel
12.04.2018
11:50:29

Sergey
12.04.2018
11:51:03

Adel
12.04.2018
11:51:22
Просто заменить сокращение смыслом

Google

Adel
12.04.2018
11:51:27
Rs => Response

Sergey
12.04.2018
11:51:33
PageResponse?

Adel
12.04.2018
11:51:47
or ReponsePage I don't remember

Sergey
12.04.2018
11:52:21
А если имя абстракции длинное из-за предметной области?

Adel
12.04.2018
11:52:30
просто пользы от сокращения ноль. а писать имя класса всего в двух местах

Sergey
12.04.2018
11:55:29

Adel
12.04.2018
11:56:35

Sergey
12.04.2018
11:59:57

Егор
12.04.2018
12:00:19
Согласен c @Adelf32 . Замечу, что в проекте помимо Rs есть много других неочевидных сокращений:

Like
12.04.2018
12:00:58
Rq - Request
Ps - Post?

Adel
12.04.2018
12:02:00
а мне кажется это просто стиль. Человек просто любит все сокращать. писать как можно короче. с этим же связан совет удалить все пустые строки :)) я вот кстати наоборот люблю свободный стиль. с полными именами классов и везде отделяю пустыми строками логические вещи в методах.

Like
12.04.2018
12:02:28
@Adelf32 мне кажется, пхпшнику было бы проще работать с мапом, чем понять сокращения Егора ?

Bohdan
12.04.2018
12:02:50

Like
12.04.2018
12:03:05
А так, мы в гиксах обсуждали по этой теме с ним

Adel
12.04.2018
12:04:58
самое обидное что я не могу вспомнить :) но вроде мы говорили про явовские мапы.. и я ругался что пхпшники страшно любят массивы везде совать :)

Like
12.04.2018
12:05:44

Егор
12.04.2018
12:07:21

Google

Like
12.04.2018
12:08:00

Adel
12.04.2018
12:09:12
Квиз - угадай назначение класса Егора по его имени

Like
12.04.2018
12:13:32

Adel
12.04.2018
12:13:47
eXtended Edition

Like
12.04.2018
12:14:04
Ох блин, сильно

Ilia
12.04.2018
12:14:55
Ребят, там сокращения идут от сокращения интерфейса.
На самамо деле вы должны интерфесом думать, а не классом. В классе, есть отсылка к интерфесу в виде сокращения, и пояснение для непосредственного понимания что делает этот класс.

Like
12.04.2018
12:20:50
Нужно в любом случае открывать файл и смотреть что там

Sergey
12.04.2018
12:31:20

Adel
12.04.2018
12:35:00

Like
12.04.2018
12:35:53

Sergey
12.04.2018
12:36:01

Bohdan
12.04.2018
12:36:07

Art
12.04.2018
12:37:48
зачем промисы если есть события?

andretshurotshka?❄️кде
12.04.2018
12:38:23
события не first-class значения

Sergey
12.04.2018
12:38:50

Art
12.04.2018
12:38:58
а стрелочные функции не делают код трудночитаемым? Это ведь приходиться обращаться к памяти и каждый раз расшифровывать закорючки

Like
12.04.2018
12:40:37

Google

Like
12.04.2018
12:40:45
Я против таких сокращений

Bohdan
12.04.2018
12:40:49

Like
12.04.2018
12:40:53

Bohdan
12.04.2018
12:41:00
что?
я так понял, он имеет ввиду, что событие нельзя передать как аргумент, а промис можно

Like
12.04.2018
12:42:01
Я не особо понимаю какое событие

Bohdan
12.04.2018
12:42:35

Like
12.04.2018
12:42:50
И промисы я видел только в джсе, хз что это ?

F01134H
12.04.2018
12:43:19

Bohdan
12.04.2018
12:44:18

Like
12.04.2018
12:44:26

F01134H
12.04.2018
12:44:29

Sergey
12.04.2018
12:44:34

Bohdan
12.04.2018
12:44:59
а еще guzzle)
он ведь под капотом что-то из стека reactphp/amphp гоняет? или ошибаюсь?

Art
12.04.2018
12:44:59

F01134H
12.04.2018
12:45:11

Like
12.04.2018
12:45:14

Bohdan
12.04.2018
12:45:27