Так каждая команда работает по своему. У всех разные задачи. Кому-то CLI нужен, а на 80% сайтов - это мертвый код. Подход зависит от задачи. Реализация - от тимлида. Тим лид - человек, следовательно будет основываться на своем опыте, видении. Я же и пишу, что не понимаю критериев оценки. Есть много разных паттернов программирования. Что ближе, то и используют. Код может быть красивым, но терять на запросе или выполнении 2-3мс, что в итоге выльется в задержки, которые придется дебажить при увеличении нагрузки.
Магия, фасады, абстракция. Я выше писал, мой подход - DRY, KISS. Для меня лучшее решение - очевидное. Если любой дурак, увидев ошибку сможет её пофиксить - это идеальный код.
Вот Вы, к примеру строите фреймворк с подключением к разным БД. Вопрос: если по итогу будете использовать MySQL подобные (MariaDB например, через PDO) , зачем вам коннект с PostgreSQL? На будущее? А если оно не наступит? Мертвый код уже сейчас. Используете ORM? Для меня оптимален Query builder и нативный SQL в сложных запросах.
нет.
Вообще я в начале и местами поспешил, местами пока нет четкой картинки "что хочу".
Да run понимаю, тут в планах наводить чистоту точно. собственно в нем todo для этого и висит
Так, а критерии оценки какие? Я чуть посматриваю на ваш челлендж, но не пойму, как оценивать будут. У всех разные подходы в программировании. Кто-то жертвует простотой статичных методов в угоду тестам, т.к. статику сложно мокать. Кто-то пишет спаггети код в угоду ООП, не следуя принципам DRY. Для меня ваш код избыточен и сложен по структуре. Не НЕ пониманию код, а по структуре самого фреймворка. Для меня антипаттерн - это Ларавель. Из всех крупных - мне ближе CI4.
Итак очередной спринт завершился.
В этот раз движения более скромные (очень насыщенные были две недели)
Шаблонизатор
Как и отмечал ранее: Три раза переписав лексер, пришел к окончательному концепту. Для дальнейшей разработки требуется механизм регистрации модулей в фреймворке
Релиза пока нет, актуальное состояние модуля на момент этого сообщения на gtihub
Фреймворк
Так же релиза пока нет, актуальное состояние на github в ветке next (на момент сообщения: здесь)
В общем на следующий спринт: задача минимум выпустить релиз фреймворка с конфигурацией, с механизмом регистрации модулей, а так же есть у меня небольшой todo , а в максимуме: реализовать в шаблонизаторе базовый функционал и базовые теги
PS Надеюсь ArbNet завтра хоть, что то расскажет о подвижках
** * @inheritDoc */ public function getParameterResolver(): ResolverInterface { if (isset($this->singletons[ResolverInterface::class])) { /** @var ResolverInterface $resolver */ $resolver = $this->singletons[ResolverInterface::class]; return $resolver; } $definition = $this->singletonsRegistry[ResolverInterface::class] ?? ResolverInterface::class; $this->singletons[ResolverInterface::class] = new $definition($this); return $this->singletons[ResolverInterface::class]; }
$definition не проверяется?
Route::run() не соответствует принципам DRY. Слишком много повторений (и не только здесь). Конечно понятно, что это учебный материал, но, к примеру, я сторонник DRY, KISS, а другие только SOLID, кто-то чистый ООП в угоду простоте. По каким критериям оценка будет?
Еще продавали где посылка, ресторан. Но не видел, что бы купили. Цена права 15млн+. С чего такие парйсы, непонятно
24млн за 120 тыщ просмотров в день это норм цена? 200 руб за 1 просмотр. Если монетизировать рекламой, то окупаемость через сколько наступит?
И как он генерит 942т.р. дохода при такой посещаемости? 3.8 рубля просмотр, или 1,9р на посетителя. Интересно.