Что такое соглашение об именах для функций Powershell в отношении использования верхнего/нижнего регистра?

Хотя в Руководстве по разработке командлетов я нашел много информации о том, как называть командлеты и функции, я не нашел никакой информации о том, должны ли функции называться в верхнем или нижнем регистре.

Что такое конвенция здесь?

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

Ответ 1

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

Я, например, создал для себя некоторые функции:

Get-ServerDiag
Mount-TrueCryptVolumes
Start-RDP
Generate-RandomPassword
Nuke-Environment

Вы можете себе представить, что делают эти функции, оно довольно ясное, прямолинейное и совместимое со встроенными функциями Powershell. Однако у меня есть исключения из "импорта" нескольких команд Unix в Powershell (например, killall, pidof и т.д.). Вы всегда можете использовать Set-Alias, если хотите написать что-то еще.

Этот вопрос, каким бы важным он ни был, можно обсуждать, поскольку, похоже, не существует "одного, лучшего пути". Все это, в конце концов, зависит от личных предпочтений.

Ответ 2

Функция в основном представляет собой командлет на основе script. Командлет написан напр. С#, а функция записывается как script. Из-за этого сходства я рекомендую использовать тот же стиль, что и cmdlets для своих "автономных функций", чтобы он входил в состав других командлетов PowerShell. Ex. У меня была функция filecount (для каждой папки), которую я часто использовал. Я назвал его Get-FileCount.

Однако я обычно называю вспомогательные функции (функции, которые вы используете только в других функциях), используя более простое имя, например convertsidtousername и т.д.

Вы можете использовать псевдонимы для создания коротких имен для функции.