Ik ben een script aan het herschrijven omdat het pakken efficiënter kan nu ik weet wat ik nog niet wist in het begin - een bekend gevoel voor al wie script of programmeert, behoudens diegenen die een kant-en-klaar plan hebben op voorhand en er zowaar nog in slagen zich daar volledig aan te houden.
Enfin, tijdens dit opkuiswerk kom ik volgende code (een geanonimiseerd fragment) tegen:
Die If/Else staat daar esthetisch in de weg. Dat is niet zomaar een fantasietje: in zo'n gigantisch script als dit (2000+ lijnen) is leesbaarheid heel belangrijk. Hier zo geïsoleerd lijkt dat niet erg, maar iets zoals het volgende ziet er pakken beter uit:
Ik hoop dat men snapt waarom ik methode 2 boven methode 1 verkies. Allees: methode 2 werkt niet. Weet iemand of dit syntaxgewijs haalbaar is? Alvast bedankt.
Enfin, tijdens dit opkuiswerk kom ik volgende code (een geanonimiseerd fragment) tegen:
PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
| $PSObject = New-Object System.Object $PSObject | Add-Member -type NoteProperty -Name ReplicaSize -Value $Object.ReplicaUsedSpace $PSObject | Add-Member -type NoteProperty -Name RecoverySize -Value $Object.ShadowCopyUsedSpace $PSObject | Add-Member -type NoteProperty -Name TotalSize -Value ($Object.ReplicaUsedSpace + $Object.ShadowCopyUsedSpace) If ($DPMServer.Name -EQ "SpeciaalGeval") { $PSObject | Add-Member -type NoteProperty -Name Location -Value "Datacenter2" } Else { $PSObject | Add-Member -type NoteProperty -Name Location -Value "Datacenter1" } |
Die If/Else staat daar esthetisch in de weg. Dat is niet zomaar een fantasietje: in zo'n gigantisch script als dit (2000+ lijnen) is leesbaarheid heel belangrijk. Hier zo geïsoleerd lijkt dat niet erg, maar iets zoals het volgende ziet er pakken beter uit:
PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $PSObject = New-Object System.Object $PSObject | Add-Member -type NoteProperty -Name ReplicaSize -Value $Object.ReplicaUsedSpace $PSObject | Add-Member -type NoteProperty -Name RecoverySize -Value $Object.ShadowCopyUsedSpace $PSObject | Add-Member -type NoteProperty -Name TotalSize -Value ($Object.ReplicaUsedSpace + $Object.ShadowCopyUsedSpace) $PSObject | Add-Member -type NoteProperty -Name Location -Value { If ($DPMServer.Name -EQ "SpeciaalGeval") { Return "Datacenter2"; } ElseIf { Return "Datacenter1"; } } |
Ik hoop dat men snapt waarom ik methode 2 boven methode 1 verkies. Allees: methode 2 werkt niet. Weet iemand of dit syntaxgewijs haalbaar is? Alvast bedankt.