Pull to refresh
63
0.4
Михаил@michael_v89

Программист

Send message

Artificial general intelligence — sometimes called human‑level intelligence AI — is a type of artificial intelligence that would match or surpass human capabilities across virtually all cognitive tasks.

если массив текстов представлен в другом виде (в виде базы весов) он от этого не перестаёт быть массивом текстов

Вот именно что перестает. Это вам и пытаются объяснить. Исходные тексты или конкретные фразы, которые там были, по базе весов восстановить нельзя.
Я вам привел очень упрощенный пример такого преобразования - сложить коды всех символов. Другие примеры: найти длину текста или для каждого слова найти количество, сколько раз оно встречается в текстах. Можно ли сказать, что набор записей вида "(слово, количество)" остался массивом текстов? Нет.

А еще можно для каждого слова посчитать, какое слово идет после него и как часто такая пара встречается. А еще можно посчитать это не для слов, а для отдельных слогов. А еще можно учитывать не 2 слога, а несколько. И добавить коэффициенты как их учитывать. И сделать механизм настройки этих коэффициентов. В такой базе будут слоги со статистикой и коэффициентами, но исходных текстов там не будет, поэтому нельзя сказать, что она осталась массивом текстов.

Найдите в чем отличие и подумайте, правильно ли вы поняли процитированный текст.

отвечает на вопрос "где?"

Вот вам и сказали, что такое использование некорректно.

Видимо придется еще раз ответить.

Чтобы вычислить сумму в задаче

В этом выражении "в" используется не для указания данных, участвующих в вычислениях, как использовали его вы в изначальной фразе. Я, естественно, говорил в контексте разговора и подразумевал такое использование. Выражение "вычисляют словосочетания в массиве текстов" в контексте темы обсуждения не имеет смысла. Значит вы использовали слово "находят" не в этом смысле.

Ещё как разбираюсь
на Хабре, вполне возможно, и ник не сохраняется

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

Это вам для размышления.

Hidden text

Мы же говорим "вычислить сумму" или "найти сумму" - и это одно и то же.

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

я подозреваю, что эта информация нигде на сайте не сохраняется

Вы опять пишете о том, в чем не разбираетесь. На этом всё.

И мне ответят?

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

Зачем Вы предлагаете то, что нельзя осуществить?

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

в какой именно теме нужно разбираться

В теме как работает LLM. Я это написал еще в первом комментарии.

А в русском языке это выражение означает ровно то, что написано, а не алгоритм.

А высказывание вы сделали про алгоритм работы нейросети. Если вы не учитываете контекст, то это тоже показывает, что вы пишете о том, в чем не разбираетесь.

Зачем складывать коды всех символов в нескольких текстах?

Это был пример, чтобы вы поняли, почему что-то, что получено на основе массива текстов, это не то же самое, что массив текстов.

я не использовала в своём комментарии фразу "поиск в массивах текстов",
Я писала "... они находят в массивах текстов"

Как я уже сказал, в русском языке эти фразы имеют аналогичный смысл. Слово "находят" означает получают что-либо в результате поиска.

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

Поскольку вас, моих оппонентов, в этой теме двое

А читают ее больше, чем двое, и многие из них могут ставить минусы.

напрашивается только один вывод: Вы лукавите

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

смысл фразы, в которой нет никакого смысла

Смысл в этой фразе есть. Вы его не понимаете, потому что не разбираетесь в теме. Выражение "не разбираетесь" именно это и означает, что вам неизвестна информация, которая придает смысл последовательностям символов.

Так с чего вдруг Вы считаете, что "LLM - это другой тип разума"?

С чего вдруг вы решили, что я это считаю? Я нигде такого не писал. Еще один пример неправильного вывода.

база весов составляется на базе массива текстов. Поэтому поиск в базе весов - это поиск в массиве текстов

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

Ну и в данном контексте "вычислить" и "найти" - это синонимы.

Нет, в информатике выражение "поиск в массивах текстов" обозначает определенный алгоритм, применяющийся к последовательности входных символов. Который на алгоритм получения следующего токена не похож.

по сути я права

Вы конечно можете повторять это для самоуспокоения если хотите, но по сути вы не правы.

И почему это именно те, кто грубо и неконструктивно общается, уменьшают карму своим собеседникам за якобы грубое и неконструктивное общение?

Если вы предполагаете, что это я, то я вам поставил минус в карму еще несколько месяцев назад. Если вам кто-то уменьшил карму недавно, значит это кто-то другой. Это вам повод задуматься о том, как вы излагаете свои мысли.

нейросеть не понимает смысла того, что пишет

А ей не надо понимать, достаточно чтобы это поняли вы. Гугл или Яндекс тоже не понимают тексты, которые выдают, но вы же ими пользуетесь.

И почему я не должна спрашивать у Вас о смысле фразы

Я уже ответил, потому что я вам в учителя не нанимался. У нас был разговор том, как организован процесс генерации ответа нейросети, а не про разъяснение терминов. Я вам привел описание этого процесса. Если вы не понимаете термины в нем, значит вам рано рассуждать на эту тему.

И если Шаг 4 это не "поиск наиболее вероятных словосочетаний со словами из запроса", то что это?

Там написано что. Вы же видите, что слов "поиск", "словосочетаний", "в массиве текстов" или их синонимов там нет.

"Предсказание следующего токена" это не то же самое, что "поиск словосочетаний в массивах текстов". То, о чем был разговор, там вообще обозначено одним предложением без конкретики "Она активирует алгоритм, который подбирает наиболее вероятное продолжения для ответа". В этом алгоритме ни поиска словосочетаний, ни поиска в массивах текстов не происходит.

Словосочетания в ответе нейросети конечно есть, так как это понятный человеку текст, но составление словосочетаний из токенов нельзя назвать словом "поиск". Составление это комбинация, а не поиск.

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

Я не могу спросить Claude, поэтому спрашиваю у Вас
объясните, пожалуйста, что именно значит эта фраза?
Как только Вы мне объясните, зачем мне это делать?

Затем, чтобы не спрашивать меня? Затем, чтобы узнать, что значит эта фраза? Если вам не нужен ответ, непонятно, зачем вы задаете вопрос.
Вы опять вместо конструктивной дискуссии скатились в троллинг, поэтому далее отвечать не вижу смысла.

Значит, хотя бы в одном из возможных сценариев происходит то, что я описала.

Как вам сказали уже 2 человека, то, что вы описали фразой "поиск наиболее вероятных словосочетаний со словами из запроса" не происходит нигде. В предыдущем комментарии я написал подробное объяснение. Если вы его не понимаете, значит вы не разбираетесь в этой теме, и вам нужно изучить ее подробнее прежде чем спорить. Иначе спорить нет смысла, вы просто не будете понимать ответы собеседника.

Вы серьёзно надеетесь, что сможете заморочить мне голову?

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

слова, разъясняющие термины, выражения (в значении… , в смысле… и т. п.)
В сочетании «коренной перелом» слово коренной употреблено в значении «касающийся самых основ, существенный, решительный»

- При обработке запроса от пользователя не происходит никакого процесса, который можно описать как "поиск в массивах текстов".

Часть предложения после слова "который" это разъяснение, какой именно процесс подразумевается.
В примере выражение в кавычках "касающийся самых основ" обозначает не цитату. Вот и у меня оно обозначает не цитату.

лично я не поняла смысла этого предложения
просто попытка увильнуть от ответа

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

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

Я вас уже проинформировал, что я вам в учителя не нанимался, и разъяснять всё что вы пожелаете не собираюсь, в том числе и этот вопрос. Непонятно, почему вы повторяете вопрос, зная эту информацию.

Я не могу спросить Claude

Зарегистрируйтесь на их сайте и спрашивайте, это займет несколько минут.

что именно означает 2 и 3 пункты

Я вам уже посоветовал прочитать внимательно ту статью и описания терминов, чтобы это понять. Почему вы это не сделали, и вместо этого раздуваете флуд, повторяя одно и то же?

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

"Например, чат-бот, который взаимодействует с вашими данными и включает контекст из предоставленной документации"

Статья, откуда вы привели цитаты, описывает случай, когда нейросеть используется для анализа внутренних документов компании. То есть эта информация не была ей доступна в процессе обучения, поэтому ее надо добавлять к входным данным. Это только один из возможных сценариев использования нейросети.

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

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

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

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

Если Вы в данном случае использовали кавычки не для выделения моей цитаты, то с какой целью из перечисленных в данной цитате

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

Я там привел ссылку на справочник Розенталя. Откройте и прочитайте. Там есть пункт 7.
"7) слова, разъясняющие термины, выражения (в значении… , в смысле… и т. п.)"

Да, но это не значит, что если вы никогда самостоятельно не ремонтировали такие приборы, вы не разбираетесь в том, как работает прибор.

Объясняю еще раз, я не говорил, что значит. У меня было приведено 4 возможных варианта, а не 1. "Значит" в рамках того утверждения это если вы никогда ничего не делали из всех 4 вариантов.

лично я не поняла смысла этого предложения, объясните, пожалуйста, что именно значит эта фраза
Но основной смысл происходящего - поиск наиболее вероятных словосочетаний.

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

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

Во-первых, я не писала фразу "поиск в массивах текстов"

Вы писали "находят в массивах текстов", эта фраза имеет аналогичный смысл.

С чего Вы её оформили как цитату?

Я не оформлял ее как цитату. В русском языке кавычки используются не только для обозначения цитаты.
Здесь вы тоже начали спорить о том, в чем не разбираетесь. Даже в интернете поискать не удосужились.

А во-вторых, суть я передала верно

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

Результаты семантического поиска вместе с пользовательским запросом отправляются в модель в промпте для генерации ответа.

Вот и прочитайте, что такое вектор, эмбеддинг, и что конкретно происходит при генерации ответа.

Если Вы считаете, что "LLM работают по-другому", то почему не рассказали, как это "по-другому"?

Извините, я вам в учителя не нанимался. Вы сделали утверждение без доказательств "LLM работают так-то", я вам так же без доказательств указал, что оно неверно. Хотите доказательств или объяснений, начните с себя.

Так как это ещё можно назвать, если не "находят в массивах текстов"?

Ответ от Claude (чтобы вы не говорили, что я это сам придумал):

Hidden text

Это не простой поиск по базе текстов. LLM не хранят тексты из обучения и не ищут в них готовые фразы. Вместо этого они извлекают абстрактные паттерны и закономерности языка, которые "закодированы" в весах нейронной сети (миллиарды параметров).
Это не просто "наиболее вероятные словосочетания". Современные LLM используют архитектуру трансформеров с механизмом внимания (attention), который позволяет:
- Учитывать долгосрочные зависимости в тексте
- Понимать контекст и смысл, а не только частотность слов
- Выполнять рассуждения и многоступенчатую логику
- Обобщать знания на новые ситуации

Пример различия: если бы LLM просто искали частые словосочетания, они не смогли бы решать математические задачи, писать код, или отвечать на вопросы о гипотетических ситуациях, которых точно не было в обучающих данных.

Более точное описание:
LLM — это нейронные сети, которые учатся предсказывать следующий токен, но в процессе обучения они формируют внутренние репрезентации смысла, грамматики, логики и знаний о мире. Это ближе к моделированию языковых закономерностей, чем к простому поиску по базе данных.

Я бы с удовольствием почитала

Материалов в интернете много, читайте. Можете спросить самих LLM.

Зачем мне видеть исходный код LLM, если я знаю принцип их работы?

Затем, что вам может лишь казаться, что вы знаете.
Но у меня это было приведено как один из возможных вариантов того, что можно назвать "разбираться в вопросе".

если Вы не пробовали сделать какой-нибудь прибор, то Вы и не можете понять как он работает?

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

не пробовали сделать самостоятельно
Вас не смущает, что приборы делают на заводах одни люди, а ремонтируют совсем другие?

Не смущает. "Делать" и "ремонтировать" для моего утверждения имеют эквивалентный смысл. Люди, которые ремонтируют приборы, делают это самостоятельно и понимают как они работают. Поэтому разбираются в вопросе как их ремонтировать. Если вы никогда самостоятельно не ремонтировали такие приборы, значит вы не разбираетесь в вопросе как их ремонтировать.

они находят в массивах текстов наиболее вероятные словосочетания и предложения со словами из запроса

Так работает Google, который появился в 1997 году. LLM работают по-другому. При обработке запроса от пользователя не происходит никакого процесса, который можно описать как "поиск в массивах текстов".

я вообще никогда не пишу о том, в чём не разбираюсь

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

если роботы дают большую производительность труда, значит дают больше налогов

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

Интерфейс тут ни при чем. Ни эластиксерч, ни опенсерч про ваш интерфейс не знают и имплементировать его не будут. Интерфейс вы видимо хотите имплементировать в каком-то классе своего приложения. Но если у вас есть такой класс-коннектор с названием типа FTSSearchService, который скрывает детали конкретного поискового сервиса, то вам не нужен интерфейс, можно просто переписать этот класс. Интерфейс нужен только если вы используете 2 разных реализации одновременно.

Если же у вас детали реализации конкретно ElasticSearch раскиданы по всему приложению, то это просто неправильное проектирование.

На мой взгляд, правильное решение это чтобы бизнес после внедрения ИИ платил часть прибыли государству, чтобы оно поддерживало уволенных или ненанятых из-за ИИ людей. Да, бизнес получит меньше денег, но зато люди не придут громить этот бизнес, чтобы забрать еду у его владельцев. Человек работает 8 часов, а робот может работать 24 часа, бизнес все равно будет в плюсе. Тогда у людей будут деньги, чтобы покупать произведенные товары, и не будет экономического кризиса.

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

это ж целые ctrl+c,ctrl+v раз в полгода

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

противоречит сформулированной выше проблеме "Надо найти все места и оценить, как повлияет замена, протестировать по возможности"
ух, великая проблема, надо же все сайдэффекты оценить

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

Каким то другим субъектом вся переносимая "информация" могла быть воспринята как то иначе.

Я вам уже объяснял, про дальтоников все давно в курсе. Не надо постоянно пытаться всем объяснять общеизвестные истины.

То есть при восприятии она становится субъективной информацией

Не "она становится", а появляется новый сигнал, который передается в информационной системе субъекта и несет какую-то часть исходной информации. Исходный сигнал в виде света уже попал на сетчатку субъекта и больше не существует. Субъективные впечатления и исходный сигнал это не одно и то же. Исходный сигнал существует независимо от субъекта.

абсолютно объективной информации не существует

Я говорил про объективное существование источника и его характеристик, которые влияют на испускаемый им свет.

Тем не менее, если под словом "информация" понимать характеристики света, которые могут быть разные, а под "объективная" его общепринятое определение, то утверждение будет "Не существует характеристик света, которые не зависят от субъектов". Это утверждение ложно, я это доказал в предыдущем комментарии.

Теория автора об отсутствии объективных характеристик без наблюдения субъектами опровергается тем, что свет распространяется не мгновенно, и от некоторых источников он идет настолько долго, что когда он появился, никаких субъектов еще не было. Тем не менее, он несет информацию о характеристиках этих источников. Значит эти характеристики существовали еще тогда, независимо от субъектов. Для обозначения такой независимости люди придумали специальный термин.

выше описал 3 явных плюса наличия интерфейса. цена - один раз его написать и обновлять сигнатуру (при необходимости)

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

сэкономив время на введении интерфейса (20сек?30?)

От 4 до 10 секунд каждый раз при навигации по коду (это может быть десятки и сотни раз при работе по одной задаче), несколько минут при изменении сигнатуры методов, и дополнительные усилия и внимание, потому что вместо 2 мест вызывающий и вызываемый код, между которыми можно переключаться одним сочетанием клавиш (обычно Ctrl+Tab), появляется 3 места, с которыми идет работа в произвольном порядке.

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

Не надо. Если вы пишете код, надо поставить в IDE точку, или стрелочку, или нажать что-то вроде Ctrl+Space. Если не пишете, то и список публичных методов вам не нужен, читайте то что есть.

вы боитесь увидеть "лишний" интерфейс, но не боитесь глазами каждый раз заново выковыривать публичный контракт из класса
цена поиска контракта в классе с большим количеством методов игнорируется

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

2 публичных метода, каждый по 100+ строк, только один из которых вызывается извне и является контрактом.

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

если видишь public метод вне интерфейса на ревью - тут же заворачиваешь.

В этом случае интерфейс решает вам проблему соответствия между классом и интерфейсом, которая без интерфейса просто не существует. Проблему когда в интерфейсе объявлено 2 метода, из которых используется только 1, он не решает. Вы просто перенесли ее из одного места в другое.

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

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

а можно было просто посмотреть на интерфейс, и не полагаться на тулинг

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

позволяющего заменить моком в тестах без привязки к конкретной реализации (привет любителям final)

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

цена удобства тестирования игнорируется

Во многих языках можно сделать моки на класс без интерфейса.

позволяющего бесшовно при необходимости заменить реализацию во всем коде просто заменив конкретный класс в DI

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

цена удобства замены реализации игнорируется

Поискать в IDE все места использования класса и заменить на другой занимает пару минут, никакой проблемы в этом нет. Также это даст понимание эффектов, которые окажет замена, что нужно учесть при выкладке, что протестировать. Замена сразу везде требуется редко, в большинстве случаев надо в части мест заменить, а в части оставить.

1
23 ...

Information

Rating
2,415-th
Location
Россия
Registered
Activity