@phpclubru

Страница 233 из 956
dasknix
09.06.2017
00:07:52
тогда нельзя было так кодить вот и всё.. есть же прицип DRY

не мне Вам, вероятно, объяснять

вот мой драй. всё в одном месте всегда

Pavel
09.06.2017
00:08:17
Называется по одному - class Debug а вызывается статически в 346 местах.

Google
dasknix
09.06.2017
00:08:37
где нужна гибкость - вертикальная иерархия, если нужны всякие мапперы или декораторы - отдельный разговор, но в моём проекте и без них нормально.

ну. вызвали в 346 местах один и тот же класс Debug

верно?

Dmitry
09.06.2017
00:09:02
да да... мазать синяк вазилином можно и без мытья рук

Pavel
09.06.2017
00:09:26
Потом находишь в интернете более крутой класс SymfonyLogger и хочешь начать логировать им везде. Но для этого тебе понадобится в 346 местах переписать Debug на SymfonyLogger

dasknix
09.06.2017
00:09:41
НАФИГА

да вы че ну мужики ема

что вам религия в Debug нt позволяет написать SymfonyLogger ?

Pavel
09.06.2017
00:10:05
Ну а как ты заменишь?

dasknix
09.06.2017
00:10:06
может кто-то не выспался?

руками как

ппц

Pavel
09.06.2017
00:10:45
То есть ты хочешь внутри Debug начать вызывать SymfonyLogger ?

Google
dasknix
09.06.2017
00:10:59
верно. спасибо

хворост для сожжения начинать собирать теперь?

Pavel
09.06.2017
00:11:48
Ну так это же нифига не DRY. Зачем тебе лишняя сущность в виде Debug если можно сразу передать инстанс SymfonyLogger ?

dasknix
09.06.2017
00:12:23
я больше скажу, можно ещё выполнить крутой неглупый поиск автоматизированный по коду и зафигачить везде где есть use path\path2\Debug нечто вроде use path\path2\Debug as SymfonyLogger

Pavel
09.06.2017
00:12:25
В такой ситуации получается что класс Debug это лишняя обертка которая ничего не делает а только дергает другие классы.

dasknix
09.06.2017
00:12:30
для тех кому плохо, если это не симфония

да

нечто, похожнее на декоратор

а может оно и есть я не помню точно наизусть паттерны

так и что плохого я так и не понял

наоборот только разрешил проблему секундным добавлением строки

Pavel
09.06.2017
00:13:25
нечто, похожнее на декоратор
Ну вот и зачем засирать код таким мусором если можно гораздо меньшими усилиями обойтись инстансами объекта.

dasknix
09.06.2017
00:13:44
каким мусором это низкий уровень

вот если управень управления приложением грязный - это оч плохо

Pavel
09.06.2017
00:14:08
Можно обойтись без этой обертки -> не нужно.

dasknix
09.06.2017
00:14:13
а внизу то что страшного, я и в yii2 уже недочёты видел

хорошо. а потом выясняется что в коде нельзя использовать инстансы

что там надо передть CALLBACK

и что Вы будете делать с этой теорией Инстансов тогда? прощу прощения за напор

Pavel
09.06.2017
00:14:59
Так yii2 далеко не по лучшим канонам написан.

Google
dasknix
09.06.2017
00:15:13
не спорю

но он мой первый fw и как уже сказал не было времени

Pavel
09.06.2017
00:15:33
dasknix
09.06.2017
00:15:45
@chebotarevp ещё раз

пришёл нач

скзаал чувааак ненадо инстансы

ведь тут логирование делается через callback-и

пиши callback-и, спасибо. удачи.

и что тогда?

Pavel
09.06.2017
00:16:37
Коллбек это уже не статика как минимум

И не надо тут это примешивать

dasknix
09.06.2017
00:17:08
мы не про статику

dasknix
09.06.2017
00:17:28
а про то, что надо менять одно на другие на уровне идентификаторов (имён функций, например)

и что плохого в обобщающей обёртке я реально не понимаю

когда она вообще закрывает глаза людей на то как и что там устроено

это обычная инкапсуляция по сути

что в ней плохого?

Pavel
09.06.2017
00:18:56
Это не инкапсуляция.

Dmitry
09.06.2017
00:19:05
Навскидку, 1. ты нихрена не протестируешь, ибо мокнуть зависимость не сможешь. 2. у тебя в принципе нереюзабельный код, ты его слишком завязал на логику приложение, всякие ветвления, типа если один if - то OneLogger, если другой - то SecondLogger, опять же, 2.1 - сильная связанность, т.е.крест на реюзабельностию 3. Повышаетя общая сложность этого класса, всякие ветвления в больших количествах - уже признак, а с отсуствием тестирования - рассадник багов.

Pavel
09.06.2017
00:19:28
Ну да реюзабельность низкая.

Google
Dmitry
09.06.2017
00:20:29
но это все попытка объяснить аборигенам, чо руки мыть нужно... а они возражают, что мажут мазь прекрасно и так... и ведь, в принципе, не так уж и не правы ;) не будет толка от этого, если человек не учится, а фигачит код - то или будет вечным джуниором или набъет шишки и поумнеет

Pavel
09.06.2017
00:20:38
А в ооп она очень важна - там везде пытаются использовать уже имеющиеся абстракции и интерфейсы, чтобы достроить свое поведение.

Dmitry
09.06.2017
00:21:33
но в общем оснавная проблема это нетестируемость

dasknix
09.06.2017
00:21:43
это функциональная инкапсуляция, если позволите

сокрытие части функционала

Pavel
09.06.2017
00:22:12
Давай называть это своими словами - это обертка, без которой можно обойтись.

dasknix
09.06.2017
00:22:39
если обойдётесь то когда гром грянет у вас громооттвод уже не влезет в вашу отладку

Admin
ERROR: S client not available

Pavel
09.06.2017
00:22:55
Она решает несуществующую проблему подсовывания различных реализаций логгера, которая реализуется обыкновенным внедрением объекта.

dasknix
09.06.2017
00:23:13
потому что она будет начальным и она же конечным звеном и всё что будет уметь это давать Вам в руку ток с неба напрягом в 10кв

про внедрение поподробнее, если можно

и чем оно лучше я так и не понял. я идиот.

Pavel
09.06.2017
00:24:15
Не я уже спать собирался

Потом тогда как-нибудь допишу..

dasknix
09.06.2017
00:25:03
второй пункт у @miksir принят к рассмотрению, не хватает оперативки ща понять, но чувствую запах сути где-то рядом

@chebotarevp я Вам тогда в личку можно напишу чтобы не забыли

@chebotarevp ..тема то интересная

)

Dmitry
09.06.2017
00:25:49
да не.. не очень интересная если честно

но если можешь - завтра днем (по москве) помучай @adel этим вопросм ;) он у нас официальный ментор ;)

Google
dasknix
09.06.2017
00:27:10
невопрос. мне нужны советы

Pavel
09.06.2017
00:27:18
Но с настроем "я лишь только еще больше убедился в своей правоте" конечно лучше не мучать никого.

dasknix
09.06.2017
00:27:46
ну дада, ну хреновая черта, знаю =)

спасибо за помощь всё-равно!

буду думать, перечитывать

Alexandr
09.06.2017
01:52:40
Поддержите топик плиз https://habrahabr.ru/company/devconf/blog/330564/

dasknix
09.06.2017
03:41:24
Она решает несуществующую проблему подсовывания различных реализаций логгера, которая реализуется обыкновенным внедрением объекта.

кто-нибудь может это разъяснить?

что подразумевал человек под внедрением объекта?

доброе утро неспящим)

Alexandr
09.06.2017
03:53:55
Спам

dasknix
09.06.2017
03:54:26
ясно. может быть Вы поможете с вопросом?

@confguru

Alexandr
09.06.2017
04:05:15
Каким?

dasknix
09.06.2017
04:05:59
Она решает несуществующую проблему подсовывания различных реализаций логгера, которая реализуется обыкновенным внедрением объекта.

кто-нибудь может это разъяснить?

что подразумевал человек под внедрением объекта?

Alexandr
09.06.2017
04:07:06
Не понял контекста

Наверно надо автора спросить

Страница 233 из 956