Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nivel de gravedad: Advertencia
Descripción
Esta regla detecta operadores de asignación desalineados en tablas hash y definiciones de enum. Las sentencias de asignación consecutivas son más fáciles de leer y mantener cuando sus operadores de asignación se alinean verticalmente.
Esta regla comprueba los pares clave-valor en tablas hash y definiciones de miembros enum para asegurar que los = signos coincidan. Utiliza esta regla para imponer un formato consistente en tablas hash multilínea y definiciones de enum.
La regla ignora las asignaciones dentro de tablas hash y enums que aparecen en la misma línea que otras asignaciones. Por ejemplo, la regla ignora $h = @{ a = 1; b = 2 }.
Example
No conforme
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
Compliant
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
Configuración
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
AlignHashtableKvpWithInterveningComment = $true
CheckEnum = $true
AlignEnumMemberWithInterveningComment = $true
IncludeValuelessEnumMembers = $true
}
}
Parámetros
Enable
Este parámetro controla si ScriptAnalyzer comprueba el código con esta regla. Acepta un valor booleano. Para habilitar esta regla, establece este parámetro en $true. El valor por defecto es $false.
CheckHashtable
Este parámetro controla si ScriptAnalyzer comprueba la alineación de asignación en tablas hash y configuraciones de Desired State Configuration (DSC). Acepta un valor booleano. Para desactivar esta comprobación, establece este parámetro en $false. El valor por defecto es $true.
AlignHashtableKvpWithInterinteringComment
Este parámetro controla si ScriptAnalyzer incluye pares clave-valor de tabla hashtable que contienen un comentario intermedio al determinar el alineamiento. Acepta un valor booleano. Para excluir estas líneas, fije este parámetro en $false. El valor por defecto es $true.
Ten en cuenta lo siguiente:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Con esta configuración desactivada, se ignora la línea con el comentario. Los signos iguales están alineados para las líneas restantes:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Con esta opción activada, los signos iguales se alinean para todas las líneas:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
CheckEnum
Este parámetro controla si ScriptAnalyzer comprueba la alineación de asignación en las definiciones de miembros de enum. Acepta un valor booleano. Para desactivar esta comprobación, establece este parámetro en $false. El valor por defecto es $true.
AlinearEnumMiemConInterveningCommentario
Este parámetro controla si ScriptAnalyzer incluye elementos de enum que contienen un comentario intermedio al determinar la alineación. Acepta un valor booleano. Para excluir estas líneas, fije este parámetro en $false. El valor por defecto es $true.
IncluyeMiembrosInValueLessEnum
Este parámetro controla si ScriptAnalyzer incluye miembros de enum sin valores explícitamente asignados al determinar la alineación. Acepta un valor booleano. Para excluir miembros sin valor, establece este parámetro en $false. El valor por defecto es $true.
Ten en cuenta lo siguiente:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Con esta configuración desactivada, la tercera línea, que no tiene valor, no se tiene en cuenta al elegir dónde alinear las asignaciones.
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Con ella activada, el miembro sin valor se incluye en la alineación como si tuviera un valor:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}