Я бы сказал, что точно есть ситуации, когда с тестами быстрее чем без тестов. Например, если интерфейс маленький и тесты простые, а реализация большая и сложная. Или, например, когда надо оптимизировать большой кусок — делаешь не вполне тривиальные преобразования и надо убедиться, что функционал не изменился а только ускорился (хотя это уже не рефакторинг).
Рефакторинг, который инструмент может сделать формально и 100% точно, думаю, можно делать без тестов.
Вообще требует измерения — сколько потрачено время на написания тестов сколько на ручное тестирование и исправление ошибок.
Во-первых, может быть есть что-то что вы не знаете
Во-вторых, общая терминология облегчает общение с другими. Можно не говорить «это класс X реализует все методы интерфейса Y, но они ничего не делают», а написать «X — это NullObject для Y»
божежмой. вы предлагаете прежде чем сесть работать в павершелле несколько раз его перезагрузить чтоб он стал побыстрее?
Если цель — насладиться именно временем старта, то да. Если цель наоборот, сказать что он тормознутый — то продолжайте перезагружаться после каждого запуска. Я запускаю ISE 1 раз за сеанс и из него не выхожу. Асинхронность и и табы мне это позволяют. Кстати, в ISE есть редактор c регекспами, и весь ISE включая редактор скриптуются на PoSh
ну почему же нельзя щитать аналогом zsh, разве не из-за него и ему подобных был придуман вообще павершелл, разве не затем в нем куча функций чем-то напоминающие отчасти бинутилс. по мне так прямой аналог.
По мне, так вы не просекли основную фишку павершелл.
Безусловно объектный шелл похож на текстовый — между notepad и word тоже есть какие-то общие черты.
Проиллюстрировать разницу можно простой командой
gsv *sql* | sort Status | ft -gr Status
здесь
gsv *sql* — получает поток объектов типа «сервис» в имени которых есть символы sql
sort Status — получает от предыдущей команды поток объектов и сортирует по свойству Status
ft -gr Status — форматирует выхлоп предыдущей команды в виде таблицы, группируя по полу статус идущие подряд объекты с одинаковым статусом
Типа
Status: Stopped
Status Name DisplayName
------ ---- -----------
Stopped SQLBrowser SQL Server Browser
Stopped SQLAgent$AXMSDE001 SQLAgent$AXMSDE001
Status: Running
Status Name DisplayName
------ ---- -----------
Running MSSQL$AXMSDE001 MSSQL$AXMSDE001
Так как везде передаются объекты командам не надо дополнительно объяснять, как парсить выхлоп друг друга. Плюс еще благодаря интеграции с .NET есть огромнейшие возможности для расширения (например, можно ходить по базам SQL server как по папкам виртуальной файловой системы)
опечатался — похожего на PoSh
Кстати там тоже объектный пайп или это просто шелл с питоном в сердце?
За сколько сейчас вы сможете продать windows 3.11?
Докажите, пожалуйста, если не трудно
Рефакторинг, который инструмент может сделать формально и 100% точно, думаю, можно делать без тестов.
Вообще требует измерения — сколько потрачено время на написания тестов сколько на ручное тестирование и исправление ошибок.
Во-вторых, общая терминология облегчает общение с другими. Можно не говорить «это класс X реализует все методы интерфейса Y, но они ничего не делают», а написать «X — это NullObject для Y»
У вас тормознутая операционная система?
Сколько времени она запускается?
Если цель — насладиться именно временем старта, то да. Если цель наоборот, сказать что он тормознутый — то продолжайте перезагружаться после каждого запуска. Я запускаю ISE 1 раз за сеанс и из него не выхожу. Асинхронность и и табы мне это позволяют. Кстати, в ISE есть редактор c регекспами, и весь ISE включая редактор скриптуются на PoSh
ну почему же нельзя щитать аналогом zsh, разве не из-за него и ему подобных был придуман вообще павершелл, разве не затем в нем куча функций чем-то напоминающие отчасти бинутилс. по мне так прямой аналог.
По мне, так вы не просекли основную фишку павершелл.
Безусловно объектный шелл похож на текстовый — между notepad и word тоже есть какие-то общие черты.
Проиллюстрировать разницу можно простой командой
gsv *sql* | sort Status | ft -gr Status
здесь
gsv *sql* — получает поток объектов типа «сервис» в имени которых есть символы sql
sort Status — получает от предыдущей команды поток объектов и сортирует по свойству Status
ft -gr Status — форматирует выхлоп предыдущей команды в виде таблицы, группируя по полу статус идущие подряд объекты с одинаковым статусом
Типа
Так как везде передаются объекты командам не надо дополнительно объяснять, как парсить выхлоп друг друга. Плюс еще благодаря интеграции с .NET есть огромнейшие возможности для расширения (например, можно ходить по базам SQL server как по папкам виртуальной файловой системы)
Или вот еще пример из хелпа:
$zip = New-WebServiceProxy -uri www.webservicex.net/uszip.asmx?WSDL
$zip.getinfobyzip(20500).table
CITY: Washington
STATE: DC
ZIP: 20500
AREA_CODE: 202
TIME_ZONE: E
В-общем, я готов согласиться, что PowerShell медленнее текстовых шеллов, но он не уныл и не говно.