When I started working with the Go language using Visual Studio Code a few months ago, the Go extension for VS Code auto-formatted one type definition like so:
type ResourceInfo struct { ResourceID string SubscriptionID string GroupName string Name string Type string RunID string DocumentType string Location string LocationMisAligned bool }
When I was a C / C++ developer I created and read right-aligned code all the time. The alignment makes patterns in code easier to find. For another example in Go, it’s easier to see which entries point to a "no-operation" function in the following hash map, because you can scan vertically down the file.
var resourceMap = map[string]func(*ResourceInfo) { "Microsoft.Sql/servers": visitSQLServer, "Microsoft.Sql/servers/databases": noop, "Microsoft.Cache/Redis": visitRedisCache, "Microsoft.Web/sites": visitWebSite, "Microsoft.Portal/dashboards": noop, // ... }
Keeping code aligned requires some work, and without tool support it is rare to see the convention in .NET languages. The only tool I've found that comes close to supporting this style is the Always Algined extension for Visual Studio.