Каковы преимущества сценария Powershell по Консольному приложению?

Я услышал названный "автоматическое управление версиями". Наиболее распространенный метод должен включать mtime статического файла где-нибудь в URL и разделить его использующий обработчики перезаписей или URL confs:

См. также:

9
задан Dean 22 July 2009 в 17:42
поделиться

5 ответов

Я думаю, что лучше подумать об этом: когда вы выберете консольное приложение?

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

Кстати, PowerShell может манипулировать COM-объектами прямо из коробки, поэтому с точки зрения автоматизации задач он довольно хорошо работает в качестве связующего кода между .NET и инфраструктурой на основе COM.

9
ответ дан 4 December 2019 в 11:07
поделиться

Самым большим преимуществом для меня является потеря процесса компиляции и развертывание двоичных файлов. Приведу вам пример. У меня было приложение, которое использовало некоторые сборки из папки частных сборок Visual Studio, приложение создавало двоичные файлы и запускало модульные тесты во время нашего процесса компиляции. Когда вышла VS 2008, мне пришлось изменить ресурсы, перекомпилировать и затем развернуть двоичные файлы на всех наших серверах сборки. Я решил, что это глупо, и переключился на PowerShell, поэтому теперь мой сценарий определяет, какая версия vsts установлена, и загружается в библиотеки dll с самой высокой версией. Теперь вы можете сделать это в приложении, используя отражение, позднюю привязку и прочее, но в PowerSHell это намного проще, это и каждый Release ENgineer может просто быстро изменить скрипт в текстовом редакторе, когда мы добавляем двоичные файлы или удаляем двоичные файлы, которые нам нужно инструментировать. Для небольших внутренних приложений я всегда PowerSHell сейчас ...

5
ответ дан 4 December 2019 в 11:07
поделиться

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

2
ответ дан 4 December 2019 в 11:07
поделиться

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

2
ответ дан 4 December 2019 в 11:07
поделиться

Не стоит недооценивать ценность практически бесплатного анализа параметров, который становится еще лучше с расширенными функциями в V2. Подумайте обо всех небольших консольных приложениях, которые вы пишете, и о том, какая часть этого кода - это анализ параметров, а не выполнение чего-то интересного. Также подумайте, насколько хорошо вы обрабатываете парсинг параметров? Вы обрабатываете позиционные или именованные параметры? Как насчет проверки параметров? Значения параметров по умолчанию? Как насчет файлов ответов? Хотя Posh не поддерживает файлы ответов в буквальном смысле, в V2 есть оператор splatting, который позволяет вам упаковать параметры в массив или хэш-таблицу - очень похожая возможность.

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

1
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

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