Проектирование и рефакторинг. - страница 7

Если ваш запрос на слияние сгенерирован ИИ, я его отклоню. Объясню, почему

Иногда запрос на слияние (merge request) даже не стоит отправлять на код-ревью, так как при его составлении кто-то злоупотреблял искусственным интеллектом, и это повредило как проекту, так и команде. Например:1.     Удалив часть кода, можно значительно улучшить запрос на слияние 2.     Вы не знаете основ языка, на котором подавали запрос3.     Спам в документации4.     Вопиющая несогласованность материала5.     Чрезмерно подробно рассмотрены пограничные случаи6.     Вы добавили бессмысленные или нежелательные зависимости и сами не понимаете, зачем.

продолжить чтение

Второе пришествие микросервисов: почему в 2025 мы снова в них верим

Привет, Хабр!Недавно принял участие в панельной дискуссии про микросервисы. Планировался холивар «монолит vs микросервисы», но получился, на мой взгдяд, интересный разговор с реальными кейсами. Собрались специалисты с интересным практическим опытом: Павел Куликовский (Цифра банк), Антон Мартынов, Алексей Захаров (Axiom JDK), Андрей Почтов (АЭРО) и Александр Тырышкин (DEVTALE).

продолжить чтение

Программисты и Техножрецы: где заканчивается миф и начинается инженерия

продолжить чтение

Паттерны проектирования искусственного сознания и закрытие ТПС: дискретизация, рефлексия и рекурсия пространства-времени

Трудная проблема сознания (ТПС) — тупик, а не путьКогда мы говорим о сознании, особенно в контексте искусственного интеллекта, нас неизбежно настигает «трудная проблема сознания» (ТПС), сформированная Дэвидом Чалмерсом: почему и как из физических процессов в мозге возникает субъективный опыт (или квалиа) — ощущение красного, вкус хруста булки, мурашки от музыки? Этот вопрос стал мемом, философским барьером и вызовом для проектирования искусственного интеллекта который, похоже, невозможно преодолеть.При решении этой проблемы философы и специалисты по когнитивным наукам застряли в трёх тупиках:

продолжить чтение

Откуда берется абсолютная инкапсуляция и зачем она нужна. Практика Архитектуры ПО, часть вторая

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

продолжить чтение

Байки про тактические паттерны DDD

Всё мне позволительно, но не всё полезно; всё мне позволительно, но ничто не должно обладать мною. Апостол ПавелЕсли вы никогда не интересовались паттернами DDD или это было давно и неправда, эта статья, к сожалению, мало чем сможет вам помочь. Если вы никогда не читали Вернона – я настоятельно рекомендую это сделать, его объяснения прекрасны, подробны и системны.

продолжить чтение

Минификация кода для повышения эффективности LLM: влияние на лингвистику, генерацию и анализ программ

ВВЕДЕНИЕБольшие языковые модели (LLM) становятся неотъемлемой частью инструментов генерации, анализа и автоматизации программирования. Их возможности позволяют автоматизировать разработку, искать ошибки, генерировать тесты, осуществлять перевод между языками программирования. Однако одно из ключевых ограничений – контекстное окно, то есть максимально возможная длина входных данных. С ростом объема современных программ эффективность работы LLM с длинным кодом становится всё более актуальной задачей, особенно учитывая вычислительные и финансовые издержки обработки длинных последовательностей.

продолжить чтение

AI-бот для QA-инженеров: как я сделал Telegram-ассистента для ежедневной прокачки

Что, если бы кто-то 4 раза в день напоминал тебе важное из мира QA — с примерами, объяснениями и без воды? Я сделал такого помощника. Привет! Меня зовут Евгений. Я — Full-Stack QA Engineer в Devscribed и сегодня хочу поделиться своим экспериментом QA Mentor Bot — Telegram‑бот, который четыре раза в день отправляет случайный вопрос по тестированию из базы данных и сразу же публикует развёрнутый ответ на него с помощью AI в Telegram‑канале.Зачем мне понадобился QA Mentor Bot У этого проекта было две цели: 🎯 Прокачать свои QA‑навыки.Регулярная самоподготовка:

продолжить чтение

Сказание о стратегических паттернах DDD

Чтобы правильно задать вопрос, нужно знать большую часть ответа.ШеклиДисклаймер – этот текст не принесёт никакой пользы тем, кто не знает, что такое DDD, тем, кто не хочет ничего знать про DDD и тем, кто уже знает про DDD всё, что им нужно.

продолжить чтение

Технический дизайн

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

продолжить чтение