У тебя вроде бы тут регистрация старая, но будучи на данном форуме не знать, что такое соккер.ру...
То, что он падает и давно нуждается в модернизации — бесспорно, но считать, что там 8 уников... Там икс только 7800
Там рекламой всё захламлено. Мобильную версию смотреть невозможно. Не удивлюсь если реально 8 уников
На typescript? Агенты могут полноценные приложения писать? Не лендинги, а полнофункциональные? У меня с ними никак не заходит. Даже с контекстным окном в млн токенов, он начинает править свой же код. Даже если ему в инструкциях через .md задать придерживаться определенных паттернов, структуру приложения, он всегда самодурит. Он может тебе оптимизировать один класс, следом ты ему кормишь его же и он правит свой же опять, и так до бесконечности. Не было ни разу, что бы скормил код и он не стал его же дебажить с ответом, что этот код идеален(утрирую)
Согласен. НУжен компромисс. Но, что такое фреймворк и как его оценить? Это прям совсем вусовщина. Вам удобно тесты во всё, а мне в половине они не нужны. Вам удобны экземпляры классов, а мне статические методы. Вы создаете DI контейнеры, абстракции, интерфейсы, а мне они вообще не нужны. Мне важно, что бы полученную ошибку я мог идентифицировать и отдебажить в максимально короткое время. Желательно, что бы в dev режиме прям указывало на строку в файле с фейлом, типом ошибки и откуда пришло.
Ну а какая оценка тогда? Просто кто судить будет? Ваше написание кода - это ваше понимание. Я отношусь к коду, как к ниге. Если читаю и понимаю, значит код хороший. Если надо лезть в другую книгу (доки), что бы прочесть вашу, то это даже за код не буду считать. А другим наоборот.
Смотря какой. Может создадите настолько удобный, что вместо ТГ каналов, начнут поднимать на вашем приложении сайты. Лучше, чем VC, Habr, Pikabu. Взять лучшее и сделать прекрасное
Это просто бред. Все ткани +- одинаковые. Адики давно синтетику используют. Покупаешь гелевые удобные стельки и разницы не заметишь (а иногда и адики будут хуже)
Так можно же реально интересный проект. Очередной фреймворк никому не нужен просто. Это не мое мнение - это реалии, которые легко проверяются на гите.
Тогда полезное. Вот Sly32 хочет написать сервис для СЕО. Отличная задача. Попытаться систематизировать СЕО. Либо полезную веб утилиту, по типу защиты от ботов, или подобие клаудфлар (очень актуально).
Есть. Но челлендж это не увлечение, а соревнование. Если бы Вы сказали, что в свободное время кодите - никто и слова бы не сказал. Но здесь дух соревнования.
Так можно же написать полезную фичу.
Так каждая команда работает по своему. У всех разные задачи. Кому-то 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, кто-то чистый ООП в угоду простоте. По каким критериям оценка будет?