[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Колупаем DI Container
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
twin
Да ради бога, кто же против то. Твоя фишка, так твоя. Но синтаксис у меня прозрачнее, это факт.
Здесь вопросы остались?

С этим ты больше не согласен, как я понял?
Цитата (chee @ 26.01.2021 - 14:16)
Короче твой контейнер это поделка низкого качества, монструозный кусок кода, который течет, пыхтит и не может нормально покрыть типовые сценарии использования IoC-контейнера. Попросту мусор.



_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 27.01.2021 - 05:04)
С этим ты больше не согласен, как я понял?

Уже не мусор, но поделка низкого качества это точно.

Цитата (twin @ 27.01.2021 - 05:04)
Но синтаксис у меня прозрачнее, это факт.

Факт для тебя. Для меня прозрачен синтаксис Pimple, твой нет. Твой синтаксис по прозрачности и понятности очень похож на PHP DI, нужно прям курить документацию что бы понять что же хотел(и) сказать автор(ы). У Pimple взял и поехал, функция обвернутая $container->factory всегда фабричная, без обвертки всегда сервис, вот это прозрачность, тебе до такой прозрачности далеко. Моему контейнеру, увы, тоже.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 27.01.2021 - 01:19)
Уже не мусор, но поделка низкого качества это точно.
Почему "уже"? Что изменилось то? А, ну да, ты немного разобрался. biggrin.gif
За низкое качество что имеешь ввиду, обоснуй. То, что он сырой, не спорю. Так он в процессе разработки. А качество то чем не устраивает?

Цитата (chee @ 27.01.2021 - 01:19)
У Pimple взял и поехал, функция обвернутая $container->factory всегда фабричная, без обвертки всегда сервис, вот это прозрачность, тебе до такой прозрачности далеко. Моему контейнеру, увы, тоже.

Совсем не далеко. Завтра сделаю. Я хотел, но считал что это лишнее. Ну раз надо, так надо. По крайней мере тем, кто пимплом пользовался, будет привычно. В остальном он ведет себя аналогично. Взял и поехал.

Еще есть претензии?

За качество жду объяснений. А то некрасиво и голословно.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
twin, я тебе уже пояснил, баги, отсутствие тестов, сложный синтаксис, слишком объемная и бесполезная документация.


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 27.01.2021 - 01:33)
twin, я тебе уже пояснил, баги, отсутствие тестов, сложный синтаксис, слишком объемная и бесполезная документация.
Не, ну посмотрите. Причем тут баги, это сырой продукт на стадии разработки. Как без багов то. Даже если покрыть тестами, они все равно будут. Тесты, это моя печаль, хочу пишу, хочу нет. Если пойдет в паблик - напишу. Мне может так приятнее колупаться, к качеству это какое имеет отношение?

Про синтаксис даже не начинай. У пимпла тоже сложный? Ну тогда у меня для тебя плохие новости. Замыкания известны любому уважающему себя разработчику. А если это новичек, то лучше потратить время на их изучение, чем на изучение звездочек, которые больше ни где не пригодятся.

А вот с документацией, это просто смешно. Когда это наличие объемной подробной документации с примерами было показателем низкого качества? То, что ты читать не любишь, я знаю. Но дока то тут причем? biggrin.gif biggrin.gif biggrin.gif

Не, не ответил ты. Опять юлишь. Наберись мужества и извинись. Что поторопился с оценкой. Либо обоснуй нормально. Что конкретно не устраивает.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
twin, а за что мне извиняться? Если тебя не устраивают мои доводы это твои проблемы. Если тебя это оскорбляет, ну что я даже рад этому.

Цитата (twin @ 27.01.2021 - 05:42)
Тесты, это моя печаль, хочу пишу, хочу нет. Если пойдет в паблик - напишу.

Безусловно, но это и делает твой контейнер низкосортной поделкой. DIC контейнер это утилитарная библиотека, я считаю она должна быть полностью покрыта unit тестами.

Цитата (twin @ 27.01.2021 - 05:42)
Мне может так приятнее колупаться, к качеству это какое имеет отношение?

прямое

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 27.01.2021 - 02:12)
Безусловно, но это и делает твой контейнер низкосортной поделкой. DIC контейнер это утилитарная библиотека, я считаю она должна быть полностью покрыта unit тестами.

Полностью? Точно? Не только то, что тебе хочется, а полностью, я не ослышался?

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

public function testObjectInvariance()
{
$container = $this->getContainer();

$before = $container->get(ExampleA::class);
$after = $container->get(ExampleB::class);

$this->assertEquals($before, $after);

$before->exampleA = false;

$after = $container->get(ExampleB::class);

$this->assertEquals($before, $after);
}



_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
В любом контейнере можно сэмулировать такую же ситуацию. Но это будет осознанно, и инвариант можно восстановить. В твоей поделке это по умолчанию. И это косяк. Я ожидаю, что контейнер вернет мне то, что я туда засунул и ничего с ним не делал. А он чего? И как разобраться, доку почитать, которой нету? Да и смешно это будет в доке смотреться. Мол контейнер кривой, так что вы это, смотрите там в оба.

Так что нифига качество не обуславливается тестами. У тебя вроде и тесты есть, и косяк есть: качество увы.

Если это паблик, или продакшен, то да, это признак профессионального подхода, но вовсе не показатель качества. Я могу замокать любой говнокод, и он качественным от этого станет? А ты сейчас на голубом глазу пытаешься впарить мне такую дичь:

Цитата
- Фу какой некрасивый дом!
- Так он еще строится...
- Ну и что. Он какой то серый непокрашеный, стекол нет. Некачественный будет дом.


Насчет документации спасибо, я подумал что для таких как ты, кто не любит читать доки, нужно сделать дайджест. Лишним не будет. Только к качеству самого продукта это отношения не имеет. У тебя так вообще доки нет, но ты же считаешь свою свистоперделку качественным продуктом, раз в паблик вывалил. Написал себе удобные тесты и поставил знак качества. Дык мало того, еще оценки по этому критерию раздает. biggrin.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 27.01.2021 - 09:08)
Ну держи тогда кейс. И пока твой контейнер его не пройдет, даже не смей заикаться насчет качества, обуславливаемого тестами.

Сначала скажи что тут вообще тестируется, а то я читаю тест и не могут понять. Но тест мой контейнер пройдёт https://yadi.sk/i/flPT-pdOCl0wWA, если захотеть, правда с другими названиями классов, так как на эти классы уже забиты другие тесты

Цитата
PHPUnit 4.8.36 by Sebastian Bergmann and contributors.

..............

Time: 37 ms, Memory: 4.00MB

OK (14 tests, 33 assertions)


Цитата (twin @ 27.01.2021 - 09:09)
У тебя так вообще доки нет

https://github.com/cheevauva/PDIC/blob/pdic/README.md тыры пыры, тыц пыц

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 27.01.2021 - 07:28)
Сначала скажи что тут вообще тестируется, а то я читаю тест и не могут понять.

Инвариантность, из названия теста разве не видно? Ты же сам говорил, что тесты, это половина доки.
Цитата (chee @ 27.01.2021 - 07:28)
Но тест мой контейнер пройдёт

Ха, так и дурак сможет. Насовал своих звездочек. Я тебе говорю про умолчание. По умолчанию контейнер должен возвращать один и тот же объект. Вот из твоей же доки:
Цитата
По умолчанию каждый раз, когда вы получаете сервис, PDIC возвращает один и тот же ее экземпляр.
Один и тот же. Какого хрена не проходит мой тест? А потому что инвариантность можно нарушить по умолчанию.

Доку написал, сподобился. Круто, вот и я пригодился на что то. biggrin.gif biggrin.gif
В доке это поведение по умолчанию не описано. Хотя бы там напиши, кто-нибудь нарвется на неприятность, будет фиговый листик прикрыться.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 27.01.2021 - 12:28)
Доку написал, сподобился. Круто, вот и я пригодился на что то. biggrin.gif biggrin.gif

Ты тут не причем, твоей заслуги нет, я просто не понимал как понятно написать документацию, у меня всегда получается перегруженность информацией, не потому что контейнер сложный, а потому что у меня нет в написание документации серьезного опыта. Текущая документация это частичный перевод документации Pimple с адаптацией примеров.

Цитата (twin @ 27.01.2021 - 12:28)
По умолчанию контейнер должен возвращать один и тот же объект. Вот из твоей же док

В контексте примера из той же доки, ты посмотри как сделана документация, я в ней все представляю так как будто псевдонимы нужно объявлять обязательно. Я же специально это делал. Когда то в будущем я дополню ее разделом, в котором будет описано, что псевдонимы объявлять не обязательно и к чему это преведет.

Цитата (twin @ 27.01.2021 - 12:28)
Один и тот же. Какого хрена не проходит мой тест? А потому что инвариантность можно нарушить по умолчанию.

Твой тест проходит, я тебе показал. Ты говорил, что мой контейнер - не может, я тебе показал - может. То что тебе не нравится синтаксис того как это делается это твои проблемы.

По сути этот тест вообще невозможно пройти без псевдонимов, ты мне говоришь не используй псевдонимы, но ты же понимаешь что класс ExampleM не будет эквивалентен ExampleM1 никогда, потому и нужно объявлять псевдоним, что бы внутри контейнера указать что это будет по сути один и тот же класс. И так уж совпадает, что псевдонимы в PDIC по умолчанию отдают сервисные сущности.

Цитата (twin @ 27.01.2021 - 12:28)
В доке это поведение по умолчанию не описано.

Оно специально не описано, что бы документацию было проще подогнать под перевод документации Pimple. Да это подлог и обман, введение в заблуждение, называй как хочешь.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Вообще почему мы обсуждаем мой контейнер? Твой то контейнер это без псевдонимов сможет сделать?

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Что бы ты не говорил, факт есть факт. Если кто то не сильно углубится в изучение твоих звездочек и сделает по простому, то может нарваться на неприятность. Потому что у тебя зависимости сервисные по умолчанию. А это грех.

Цитата (chee @ 27.01.2021 - 10:44)
Вообще почему мы обсуждаем мой контейнер? Твой то контейнер это без псевдонимов сможет сделать?

Что именно, не понял?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 27.01.2021 - 15:09)
Что именно, не понял?

Я мапу жду или пример кода, мне зачем понимать. Я тебе код показал, показал что тесты прошли. Хочу что бы ты показал как это будет выглядеть у тебя. Тот же код, какую карты зависимостей на него составишь.

Цитата (twin @ 27.01.2021 - 15:09)
Если кто то не сильно углубится в изучение твоих звездочек и сделает по простому, то может нарваться на неприятность. Потому что у тебя зависимости сервисные по умолчанию. А это грех.

Мне твое мнение по этому поводу не интересно, можешь дальше его не тиражировать, я это поведение никогда не поменяю.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 27.01.2021 - 11:21)
Я мапу жду или пример кода, мне зачем понимать. Я тебе код показал, показал что тесты прошли. Хочу что бы ты показал как это будет выглядеть у тебя. Тот же код, какую карты зависимостей на него составишь.

Где код то, я не вижу... На картинке что ли? Ты издеваешься?


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.