Size: a a a

2021 August 27

AS

Aggron Stonebreaker in Powershell Rus
но в основном скрипте похожая проблема )
источник

A

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

AS

Aggron Stonebreaker in Powershell Rus
не совсем понял насчёт глобальных
источник

A

Aleksandr in Powershell Rus
Область действия у них будет script и на простом примере:
param($a,$b)

function foo($a) {
 $a + $b
}

foo $a

script.ps1 100 200 вывод будет 300
источник

AS

Aggron Stonebreaker in Powershell Rus
ну если мы явно передадим нужные переменные, эффект будет тот же.
Я так понимаю, в других языках это решается вынесением классов и функций в отдельные файлы, здесь, в принципе, тоже существует дотсорсинг и модули, но у нас когда-то был сбой с тем, что в основном скрипте файл с функцией то ли не мог, то ли аномально долго дотсорсился и что-то не работало, в итоге портянки кода, только модули частично спасают
источник

A

Aleksandr in Powershell Rus
"Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям." (с)
источник
2021 August 28

AS

Aggron Stonebreaker in Powershell Rus
Внутри функции можно объявить и использовать одноимённую функцию, какие подводные камни?
источник

AS

Aggron Stonebreaker in Powershell Rus
например
источник

VG

Vasily Gusev in Powershell Rus
А зачем им одинаковые имена давать? Скучно?
источник

AS

Aggron Stonebreaker in Powershell Rus
Сейчас нейминг супер кривой, видимо, чтобы не было одинаковых именований функции-командлета в модуле и внутренней функции, которая объявлена ради DRY и вызывается несколько раз и выполняет основную работу
источник

AS

Aggron Stonebreaker in Powershell Rus
я ещё чуть выше писал, интересно Ваши мысли узнать
источник

PG

Pavel Gassan in Powershell Rus
вы что, пытаетесь изобрести декораторы?
источник

AS

Aggron Stonebreaker in Powershell Rus
еще бы я точно знал, зачем они нужны, насколько помню, одним из простейших примеров является добавление логгирования в какую нибудь функцию, если она его не поддерживает, не могу наложить эту концепцию на свою ситуацию
источник

PG

Pavel Gassan in Powershell Rus
расширить функционал не нарушая принцип единой ответственности
источник

VG

Vasily Gusev in Powershell Rus
Я думаю что кому то скучно и он решил разнообразить себе жизнь называя функции одинаково.
источник

VG

Vasily Gusev in Powershell Rus
Было бы клево. Но врядли оно.
источник

AS

Aggron Stonebreaker in Powershell Rus
Я пока не решил, а пытаюсь понять, как лучше поступить
источник

AS

Aggron Stonebreaker in Powershell Rus
А в том что уже сделано, с неймингом трэш
источник

AS

Aggron Stonebreaker in Powershell Rus
Разве можно выполнять функцию в родительском пространстве видимости?
источник
2021 August 29

A

Aleksandr in Powershell Rus
Можно, кто мешает :)
источник