Невозможно прокрутить и очистить все отзывы в Rselenium

1) Я бы рекомендовал максимально избегать переменных окружения.

Плюсы переменных окружения

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

Недостатки переменных окружения

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

Мое мнение

  • использует аргументы командной строки для тех аргументов, которые, скорее всего, для каждого индивидуального вызова программы (т. е. n для программы, которая вычисляет n!) [/ ​​g2]
  • использует конфигурационные файлы для аргументов, которые пользователь может разумно изменить, но не очень часто (т. е. размер отображения когда окно всплывает)
  • экономно использует переменные среды - предпочтительно только для аргументов, которые, как ожидается, не будут меняться (т. е. местоположение интерпретатора Python)
  • ваша точка They are global and accessible from anywhere, which is less elegant from architectural point of view, but limits the amount of code напоминает мне об обоснованиях использования глобальных переменных;)

. Мои шрамы из первых рук испытывают ужасы перегрузки окружающей среды

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

2 ) Ограничения

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

Я использовал JSON в прошлое для приложения с командной строкой, для которого потребовалось много параметров. Было очень удобно использовать словари и списки, а также строки и номера. Приложение заняло всего несколько аргументов командной строки, одним из которых было расположение файла JSON.

Преимущества этого подхода

  • не должны были писать много (болезненный) код для взаимодействия с библиотекой CLI - это может быть болью, чтобы получить много из общих библиотек для принудительного применения сложных ограничений («сложным» я имею в виду более сложным, чем проверка определенного ключа или чередование между набором ключей).
  • не нужно беспокоиться о требованиях к библиотекам CLI для порядок аргументов - просто используйте объект JSON!
  • легко представить сложные данные (ответы What won't fit into command line parameters?), такие как списки
  • , простые в использовании данные из других приложений - оба создавать и анализировать программно
  • легко для размещения будущих расширений

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


3 ) Переносимость решения: я не очень разбираюсь в различиях между Mac, ПК и Linux в отношении переменных окружения и аргументов командной строки, но могу вам сказать:

  • все три имеют поддержку переменных среды
  • , все они поддерживают аргументы командной строки

Да, я знаю - это было не очень полезно. Прости. Но ключевым моментом является то, что вы можете ожидать, что разумное решение будет переносимым, хотя вы определенно хотите проверить это для своих программ (например, являются ли аргументы командной строки аргументами с учетом регистра на любых платформах? На всех платформах? Я не знаю ).


Одна последняя точка:

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

0
задан gamya naidu 18 March 2019 в 14:01
поделиться