LINUX.ORG.RU

Есть ли у вас ОО код, который не стыдно показать.

 


0

2

Я провожу анализ того, как люди пишут приложения в ОО стиле. Я изучаю то, как и когда люди используют паттерны и принципы. Если у кого есть код в открытом доступе, прошу в студию.

у callbackhell точно есть. Только он тебе не покажет, потому что нету. это и есть ЪООП менять поведение рантайм. Есть и опа, уже нету.

anonymous
()
Ответ на: комментарий от Deleted

мне стыдно, но я выкладываю, потому что через дропбокс неудобно. борюсь, так сказать, со стыдом.

anonymous
()

Есть но не покажу.

loz ★★★★★
()
Ответ на: комментарий от anonymous

у меня для приватного кода репозиторий на телевизоре, а на гитхабе и не стыдно, но и ни одного готового проекта нет.

Deleted
()
Ответ на: комментарий от beastie

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

Deleted
()
Ответ на: комментарий от Deleted

«Покажи свой хеловорд 10 разным людям и узнай 10 разных причин почему ты мудак» (с)

anonymous
()
Ответ на: комментарий от Gu4

Компьютер приаттаченный к телевизеру, там файлопомойка и gitblit

Deleted
()
Ответ на: комментарий от Kilte
                    if (is_array($middleware)) {
                        if (sizeof($middleware) != 2) {
                            throw new \LogicException('Invalid middleware definition.');
                        }
                        list($middleware, $priority) = $middleware;
                    } else {
                        $priority = null;
                    }
                    $builder->attachMiddleware($container->get($middleware), $priority);

массив элементов разного типа («неявный контракт» - автор надеется что там всегда будет только то что нужно и в нужном порядке), когда туда засунут объекты другого типа или первым null то будет облом, переменная $middleware переиспользуется для разных данных

внешний цикл повторяется несколько раз в getCommandBus и getContainer которые оба похожи на синглтоны, но для разных данных - т.е. BaseApplication похоже занимается несколькими вещами (а не одной), да еще и судя по названию его будут расширять что будет только хуже

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

массив элементов разного типа («неявный контракт» - автор надеется что там всегда будет только то что нужно и в нужном порядке), когда туда засунут объекты другого типа или первым null то будет облом, переменная $middleware переиспользуется для разных данных

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

middlewares = {middleware}
middleware = smth [priority]

Откуда там взяться «другим объектам»? Что, в жавамирке завидуют динамической типизации?

Deleted
()
Ответ на: комментарий от Deleted

Даже не зная пхп, можно догадаться, что там обработка конфига вроде

Меньше общайся с тупыми и тогда может станешь понимать о чем тут пишут

Deleted
()
Ответ на: комментарий от Deleted

массив элементов разного типа, когда туда засунут объекты другого типа или первым null то будет облом

Если засунут, то ССЗБ. Только я не представляю, как это может произойти. Провайдер обязуется вернуть список вида: [[string $key, int $priority], string $key, ... ]. Правда по коду это можно понять только заглянув в BaseApplication :3, но в документации это есть. Возможно стоило ввести какой-нибудь тип вроде MiddlewareDefinition. Даже была такая мысль, но мне показалось лишним усложнением. В конце-концов, планировалось вообще избавиться от приоритетов, ибо не есть хорошо.

похоже занимается несколькими вещами

Его задача забустрапить окружение. Хотелось сделать этот процесс как можно более простым. В целом, пожалуй, соглашусь, что реализация оставляет желать лучшего и по факту класс выполняет несколько разных задач. Может вообще стоит избавиться от него, распихав всю логику по соответствующим местам. Не знаю, лень дальше думать, да и нет смысла, т.к. продолжать работу над этой поделкой я уже не буду.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

Правда по коду это можно понять только заглянув в BaseApplication :3,

О чем и речь, а был бы класс - было бы ясно из его интерфейса

но мне показалось лишним усложнением

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

Может вообще стоит избавиться от него, распихав всю логику по соответствующим местам.

ну щас лень, а в следующем проекте будет также ошибка, потому иногда стоит копать не свежие проекты и раздумывать «а как былобы правильно»

Deleted
()

не пишу в ОО стиле, не использую «паттерны», брат жив

lazyklimm ★★★★★
()
Ответ на: комментарий от beastie

Ты покажи своё что тянет, чтобы мы сравнили.

anonymous
()

Конечно, в репе на гитхабе.

// забаненный по IP

anonymous
()
Ответ на: комментарий от Kilte

не стыдно

Их есть у меня.

vermillion-php

;)

Хотя я недавно сделал открытие, что на php можно писать не говнокод, но всё же там очень много нелогичного поведения и очень много фич, которыми очень удобно подпирать ужасные костыли.

Tanger ★★★★★
()

ОО код, который не стыдно показать. Вот это ты заяву предъявил... Воу, палехче.

onekasper
()
Ответ на: комментарий от Deleted

Очевидно то что стыдно на гитхаб не выкладывают.

Совсем не обязательно :)

sT331h0rs3 ★★★★★
()

Это в школе и еще иногда в джаве «люди используют паттерны и принципы» в остальных случаях каждый быдлокодит в силу своих возможностей и сроков дедлайна.

И вообще, этот академический ООП, про что талдычит тот же Буч в его крестах с примерами, слишком упрощен в современных реалиях разработки ПО. И к сожалению, такие ЯП как Go или Rust лишь ухудшают и без того плачевную ситуацию несоответствия академического ООП современным реалиям...

Посмотри tapestry5, spring framework, javafx может найдешь там: «ОО код, который не стыдно показать».

foror ★★★★★
()

Если у тебя есть ОО-код - это нормально. Если ты гордишься тем, что он у тебя есть - это тоже нормально. Вот только не надо, блин, размахивать им у всех на виду. И уж тем более не надо силком запихивать его в лицо окружающим.

anon1984
()
Последнее исправление: anon1984 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.