Существует ли когда-нибудь серьезное основание использовать оценку ()?

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

У нас была ситуация, когда полный доступ к MavenCentral не был разрешен, и артефакты необходимо было скопировать из MavenCentral в хранилище компании. Я создал скрипт, который копировал артефакты вместе со всеми транзитивными зависимостями - таким образом я мог избежать большинства итеративных проблем «отсутствующих артефактов».

24
задан Bhargav Rao 28 April 2016 в 19:41
поделиться

9 ответов

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

Это исключает 99% случаев, когда используется eval, для всех языков и контекстов.

25
ответ дан 28 November 2019 в 23:10
поделиться

Написание классного учебного примера о том, как легко реализовать «калькулятор» на языке X? =)

1
ответ дан 20 July 2019 в 19:47
поделиться

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

5
ответ дан 28 November 2019 в 23:10
поделиться

Я использовал его один раз при тестировании сайта - мы написали небольшой скрипт php, который расшифровывает и выполняет криптографически подписанные полезные данные из незарегистрированных источников данных HTTP на лету. Это лучшее использование eval (), которое я когда-либо видел.

(Другими словами: нет, я никогда не видел хорошего применения eval)

3
ответ дан 28 November 2019 в 23:10
поделиться

eval часто является наиболее целесообразным решением в ситуациях, когда вы динамически генерируете код. Даже в языках, которые официально не поддерживают eval, таких как Java, они поддерживают отражение и модификацию классов во время выполнения, которые аналогичны. (См. Такие книги, как Разработка компонентов для платформы Java Стю Хэллоуэя)

10
ответ дан 28 November 2019 в 23:10
поделиться

Может быть, я слишком много использую sh и perl , но я никогда не видел, чтобы кто-нибудь относился к eval с помощью презрение, которое получает goto .

Итак, мой ответ: « eval подходит, когда вы пишете perl 5 и sh ». Блок eval является основным механизмом try / catch в Perl , и без него сложно написать безопасный код.

2
ответ дан 28 November 2019 в 23:10
поделиться

Для быстрых взломов нет проблем, потому что это удобный способ быстрого выхода.

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

3
ответ дан 28 November 2019 в 23:10
поделиться

Наугад: eval хорош для реализации компилятора выражений для бедняков и тому подобного. К тому же это унылая ржавая замена гигиеническим макросам.

2
ответ дан 28 November 2019 в 23:10
поделиться

Для отладки / тестирования идеи перед ее правильным воплощением.

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

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

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

0
ответ дан 28 November 2019 в 23:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: