Челендж на 2026

MP
На сайте с 05.05.2025
Offline
17
#131
Sly32 #:
Может, потому что это правильнее? Как по мне так ООП гораздо очевиднее, предсказуемее, легче расширить итп...
Для вас правильнее. Для меня нет. Понятно, что если вы работаете только с агентами без ручного кода, вам всё равно. Но мне дебажить или искать причину, копая сотни файлов по 2 метода, через лес абстракций больно. Я понимаю такое утверждение в командах или пулле команд, трудящимися над микросервисами, где каждый сервис это плод воображения тимлида, но если вы работаете один или вдвоем - это боль. 
MP
На сайте с 05.05.2025
Offline
17
#132
master32 #:
попробуй самую сильную на сегодня модель ии погромиста кодекс 5.3
а лучше сразу своего агента делай, чтоб он все контролировал https://habr.com/ru/articles/990786/
Я хотел с этим агентом разобраться. Гайда по настройке нет? По дефолту он не ограничен в правах. Читал разбор разрешений от О'Рейли и Co. Просто поставить и работать не выйдет. Возможно есть для кодинга конфиг, мануал?
S3
На сайте с 29.03.2012
Offline
370
#133
MrPi #:
Для вас правильнее. Для меня нет. Понятно, что если вы работаете только с агентами без ручного кода, вам всё равно. Но мне дебажить или искать причину, копая сотни файлов по 2 метода, через лес абстракций больно. Я понимаю такое утверждение в командах или пулле команд, трудящимися над микросервисами, где каждый сервис это плод воображения тимлида, но если вы работаете один или вдвоем - это боль. 

Не выдумывайте вы ерунды и не приписывайте мне того, чего не знаете. Какие сотни файлов по 2 метода? где вы такое видели, в Java? Это вовсе на ООП. Что, для ПХП до сих пор нет нормального дебагера, Я свой код дебажу на любом уровне, через любые точки останова в любом месте, синхорнный,  асинхронный код... Вроде начальные ваши посты показывали, что вы в теме, но вот эти ваши изречения прям все переворачивают.

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

MP
На сайте с 05.05.2025
Offline
17
#134
Sly32 #:
Это вовсе на ООП
Sly32 #:
Не выдумывайте вы ерунды
Sly32 #:
Какие сотни файлов по 2 метода?

Основные принципы ООП - инкапсуляция, наследование.  Вот такие капсулы с абстрактным наследованием делают из простого сложное. Тот же микрофреймворк, популярный в php slim

https://github.com/slimphp/Slim

Один роутинг из 12 классов.

Вот пример инкапсуляции

class MethodOverrideMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $methodHeader = $request->getHeaderLine('X-Http-Method-Override');

        if ($methodHeader) {
            $request = $request->withMethod($methodHeader);
        } elseif (strtoupper($request->getMethod()) === 'POST') {
            $body = $request->getParsedBody();

            if (is_array($body) && !empty($body['_METHOD']) && is_string($body['_METHOD'])) {
                $request = $request->withMethod($body['_METHOD']);
            }

            if ($request->getBody()->eof()) {
                $request->getBody()->rewind();
            }
        }

        return $handler->handle($request);
    }
}

1 метод - 1 класс, 1 файл. Прикольный такой SRP. И это микрофреймворк без нихрена. Просто ничего нет. Нет ни работы с локализацией, безопасностью, форматированием, валидацией. Просто снихрена 50 файлов маршрутизации и базового ничего. За сколько без агентов разберетесь в условном фреймворке Ларавель? Там магии больше чем в Хогвартс. Чего стоит только полимарфизм. Вроде просто - одна базовая кнопка. Но в одном действии она запускает двигатель, в другом готовит еду, в тертьем запускает ракеты. А после решил поменять действие. Лезешь в базовую и вспоминаешь, где этих кнопок накидал и сколько. Если дохрена, то кодишь новый класс для новой кнопки. И так накидываешь мертвого кода. На старте это хорошо, но после масштабируемости и смены поведения, либо расширяешь класс на новые кнопки и так до бесконечности. Абстракция в ООП - это отдельное зло. Для меня очевидное решение - лучшее решение. Да. в команде без этого никуда, но в частной разработке ООП зло, когда всё делает несколько разработчиков. Энтерпрайз проекты насчитывают десятки и сотни тысяч классов, наследований. Мне это ни к чему. Буду работать в коммерц разработке над одним микросервисом, буду пилить сотни классов с инкапсулированностью. Ну или банковские приложения с очередями, гонкой. Там это приемлемо, а для меня оверинжиниринг

GitHub - slimphp/Slim: Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.
GitHub - slimphp/Slim: Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.
  • slimphp
  • github.com
Slim is a PHP micro-framework that helps you quickly write simple yet powerful web applications and APIs. It's recommended that you use Composer to install Slim. This will install Slim and all required dependencies. Slim requires PHP 7.4 or newer. Before you can get up and running with Slim you will need to choose a PSR-7 implementation that...
S3
На сайте с 29.03.2012
Offline
370
#135
MrPi #:
Основные принципы ООП - инкапсуляция, наследование.  Вот такие капсулы с абстрактным наследованием делают из простого сложное. Тот же микрофреймворк, популярный в php slim
Еще полиморфизм
MrPi #:
1 метод - 1 класс, 1 файл.

Это в Java так пишут. Разве пхп заставляет все классы хранить в отдельных файлах? 

MrPi #:
За сколько без агентов разберетесь в условном фреймворке Ларавель?

Я на Ларавел писал, когда про ИИ еще и не слышали. ОТличный фреймворк и довольно понятный.

Я не собираюсь вас учить, но для меня преимущества ООП - очевидны, похоже вы просто не разобрались, как его использовать, не знаю. Пайтон - изначально построен на ООП, хотя модно писать и процедурно. Можно вообще долго спорить как и что, только зачем? 

MP
На сайте с 05.05.2025
Offline
17
#136
Sly32 #:
Еще полиморфизм
MrPi #:
Чего стоит только полимарфизм
Sly32 #:
Это в Java так пишут. Разве пхп заставляет все классы хранить в отдельных файлах? 

Это best practice в ООП. Сам паттерн с инкапсуляцией и SRP об этом говорит

Sly32 #:
Я на Ларавел писал, когда про ИИ еще и не слышали. ОТличный фреймворк и довольно понятный.

Довольно понятны методы и вызовы, но просто не смотрели в ядро, пока ничего не упало. Совместимость между версиями - это отдельная кость. Мало того, что тащиет говно мамонта с первых версий, так еще и миграция между версиями часто приносит боль. Даже в нем приняли чрезмерность ООП и сделали функции хелперы, по типу base_path(), url(), route() из процедурном исполнении.

Sly32 #:
Пайтон - изначально построен на ООП

Вы видимо путаете классы и ООП. В энтерпрайз команде работаете или один(вдвоем)? Есть хоть один проект, посмотрю? Просто любопытно стало соотношение масшатаба к количеству кода

S3
На сайте с 29.03.2012
Offline
370
#137
MrPi #:
Вы видимо путаете классы и ООП.

Это ты путаешь) У вас странное представление о ООП и его принципах.

MrPi #:
В энтерпрайз команде работаете или один(вдвоем)?

Ну слушай, можно же даже на этом форуме немного прочитать инфы про оппонента, прежде чем спрашивать)

MrPi #:
Есть хоть один проект, посмотрю? Просто любопытно стало соотношение масшатаба к количеству кода

Ты сможешь оценить код на Пайтон? Рабочие, проекты, извини, под NDA. Но если хочешь, подумаю что могу пошарить из пет-проектов

D5
На сайте с 06.11.2025
Offline
1
#138
Sly32 #:
пошарить из пет-проектов

Шарить пет проект - пету шарить

Ыыыыыыы.

Это вам не это.

D5
На сайте с 06.11.2025
Offline
1
#139
MrPi #:
Я хотел с этим агентом разобраться
Зачем?
Как автору поставить будильник или напоминалку через Telegram? Или отметить событие, которому, по факту, выделен интерес в районе
~0%?
В целом, пост как мануал по запуску - неплох, вроде. Но это не точно.
А вот перечисленные кейсы - это что-то))))

Сортировщик писем, анализатор погоды и важных задач, складчик файлов для жены, семь слоёв нейронок поверх Home Assistant…
И да - это всё разные ассистенты.


p.s. Это просто песда))))
Александр Воробьев
На сайте с 03.02.2020
Offline
56
#140
MrPi #:
1 метод - 1 класс, 1 файл. Прикольный такой SRP

Ну, а что здесь не так? Вы же сами выше писали "не хочу ни чего лишнего". Этот мидлвар используется для конкретных целей, и если он не нужен, то его можно не использовать. При этом модно (со слимом не работал, но наверняка) можно повесить вообще на все, на группу роутов или на отдельный роут.

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

ООП или не ООП это вообще дело индивидуальное однозначно. Я в функциональном стиле тоже успел пописать  (правда не в вебе). Но ООП мне понятнее (хотя, надо признаться, не всегда  ООП, особенно в начале, скорее программирование на классах. Но тем не менее мне как раз таки все понятно)

Про магию... ну тут вообще странно, в c++  boost, Qt, MFC..... ну то же ж. "магия". Да даже echo "hello world" магия, вам же не надо знать как устроено.

Sly32 #:
. Разве пхп заставляет все классы хранить в отдельных файлах? 

Нет, но не надо спасибо.... И даже делают так некоторые товарищи....

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий