Linee guida per le variabili
Quando si crea un comando o un tipo di origine dati, è necessario conoscere le linee guida per le variabili PowerShell e Perl in OnCommand Workflow Automation (Wfa).
Variabili PowerShell
Linee guida | Esempio |
---|---|
Per i parametri di input dello script:
|
|
Per le variabili interne dello script:
|
|
Per le funzioni:
|
|
I nomi delle variabili non sono sensibili al maiuscolo/minuscolo. Tuttavia, per migliorare la leggibilità, non utilizzare maiuscole diverse per lo stesso nome. |
|
I nomi delle variabili devono essere in inglese e devono essere correlati alla funzionalità dello script. |
Utilizzare |
Dichiarare esplicitamente il tipo di dati per ogni variabile. |
nome [stringa] [int]dimensione |
Non utilizzare caratteri speciali (! @ N. e % , .) e spazi. |
Nessuno |
Non utilizzare parole chiave riservate di PowerShell. |
Nessuno |
Raggruppare i parametri di input inserendo prima i parametri obbligatori seguiti dai parametri facoltativi. |
param( [parameter(Mandatory=$true)] [string]$Type, [parameter(Mandatory=$true)] [string]$Ip, [parameter(Mandatory=$false)] [string]$VolumeName ) |
Commentare tutte le variabili di input utilizzando l'annotazione HelpMessage con un messaggio di aiuto significativo. |
[parameter(Mandatory=$false,HelpMessage="LUN to map")] [string]$LUNName |
Non utilizzare “Filer” come nome di variabile; utilizzare invece “Array”. |
Nessuno |
Utilizzare l'annotazione ValidateSet nei casi in cui l'argomento ottenga valori enumerati. Questo si traduce automaticamente in tipo di dati Enum per il parametro. |
[parameter(Mandatory=$false,HelpMessage="Volume state")] [ValidateSet("online","offline","restricted")] [string]$State |
Aggiungere un alias a un parametro che termina con “_Capacity” per indicare che il parametro è del tipo di capacità. |
Il comando “Create Volume” utilizza gli alias come segue: [parameter(Mandatory=$false,HelpMessage="Volume increment size in MB")] [Alias("AutosizeIncrementSize_Capacity")] [int]$AutosizeIncrementSize |
Aggiungere un alias a un parametro che termina con “_Password” per indicare che il parametro è di tipo password. |
param ( [parameter(Mandatory=$false, HelpMessage="In order to create an Active Directory machine account for the CIFS server or setup CIFS service for Storage Virtual Machine, you must supply the password of a Windows account with sufficient privileges")] [Alias("Pwd_Password")] [string]$ADAdminPassword ) |
Variabili Perl
Linee guida | Esempio |
---|---|
Per i parametri di input dello script:
|
|
Non utilizzare abbreviazioni per le variabili interne dello script. |
|
Non utilizzare abbreviazioni per le funzioni. |
|
I nomi delle variabili sono sensibili al maiuscolo/minuscolo. Per migliorare la leggibilità, non utilizzare maiuscole diverse per lo stesso nome. |
|
I nomi delle variabili devono essere in inglese e devono essere correlati alla funzionalità dello script. |
Utilizzare |
Raggruppare i parametri di input inserendo per primi i parametri obbligatori, seguiti dai parametri facoltativi. |
Nessuno |
Nella funzione GetOptions, dichiarare esplicitamente il tipo di dati di ciascuna variabile per i parametri di input. |
GetOptions( "Name=s"=>\$Name, "Size=i"=>\$Size ) |
Non utilizzare “Filer” come nome di variabile; utilizzare invece “Array”. |
Nessuno |
Perl non include |
if (defined$SpaceGuarantee&&!($SpaceGuaranteeeq'none' |
$SpaceGuaranteeeq'volume' |
|
$SpaceGuaranteeeq'file')) { die'Illegal SpaceGuarantee argument: \''.$SpaceGuarantee.'\''; } ---- |
|
Tutti i comandi Perl WFA devono utilizzare il pragma “strit” per scoraggiare l'utilizzo di costrutti non sicuri per variabili, riferimenti e subroutine. |
use strict; # the above is equivalent to use strictvars; use strictsubs; use strictrefs; |
Tutti i comandi Perl WFA devono utilizzare i seguenti moduli Perl:
|
use Getopt::Long; use NaServer; use WFAUtil; |