Open brianmccarty opened 6 years ago
I personally do it like this:
Get-Process |
Sort-Object -Property Name |
Out-GridView
When I'm writing scripts anyway. I don't do that when I'm using the shell.
Reability is more important and having it all on one line makes it more difficult to understand at a quick glance. If your code is more readable over multiple lines then break it up.
If we care about readability, we sure might want to chime in on a very relevant PowerShell issue:
When it comes to style, clarity, and readability, the options below are organized from best to worst:
# Doesn't work, but it _should_
Get-PSSession
| Where-Object { $_.computername -like "*.outlook.com" }
| Remove-PSSession
Get-PSSession |
Where-Object { $_.computername -like "*.outlook.com" } |
Remove-PSSession
Get-PSSession `
| Where-Object { $_.computername -like "*.outlook.com" } `
| Remove-PSSession
Get-PSSession |
Where-Object { $_.computername -like "*.outlook.com" } |
Remove-PSSession
Get-PSSession | Where-Object { $_.computername -like "*.outlook.com" } | Remove-PSSession
Get-PSSession |
Where-Object { $_.computername -like "*.outlook.com" } |
Remove-PSSession
The version with backticks is better than the pyramid indent but worse than the single indent because it is slightly harder to maintain, but it remains easier to read and understand especially with long or complex pipelines.
That first option is very F#-like. I approve.
let f1 str server =
str
|> parseUserName
|> getUserByName server
|> validateLogin <| DateTime.Now
Getting that to work, though, would be a fairly big task, I think. It goes against a few established behaviours. Currently my go to is option 2.
What do you think about the pipeline and newlines.