Our great sponsors
- InfluxDB - Access the most powerful time series database as a service
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- SonarLint - Clean code begins in your IDE with SonarLint
-
I've written betteralign, a tool to detect structs that would use less memory if their fields were sorted and optionally sort such fields. Truth be told, there are a few projects already doing this task perfectly such as fieldalignment, maligned and structslop so you might wonder why should you bother with checking this tool at all. This is a fork of an official Go fieldalignment tool and vast majority of the alignment code has remained the same. There are however some notable changes:
-
In case you are wondering why DST and not AST, in general sense AST does not associate comments to nodes, but it holds fixed offsets. Original fieldalignment tool just erases all struct/field/floating comments due to this issue and while there is a CL with a possible fix, it's still a work in progress as of this time.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
I've written betteralign, a tool to detect structs that would use less memory if their fields were sorted and optionally sort such fields. Truth be told, there are a few projects already doing this task perfectly such as fieldalignment, maligned and structslop so you might wonder why should you bother with checking this tool at all. This is a fork of an official Go fieldalignment tool and vast majority of the alignment code has remained the same. There are however some notable changes:
-
structslop
structslop is a static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency.
I've written betteralign, a tool to detect structs that would use less memory if their fields were sorted and optionally sort such fields. Truth be told, there are a few projects already doing this task perfectly such as fieldalignment, maligned and structslop so you might wonder why should you bother with checking this tool at all. This is a fork of an official Go fieldalignment tool and vast majority of the alignment code has remained the same. There are however some notable changes:
-
Retaining comments has been done with using DST (Decorated Syntax Tree) with decorating regular AST. Sadly when using DST we cannot use "fix" mode with SuggestedFixes, but we have to print whole DST to retain decorations. Leading/ending comment positioning isn't well retained in some cases and it's still a work in progress.
-
For more gopls settings, you can see files in this folder: https://github.com/golang/tools/tree/master/gopls/doc
Related posts
- GitHub - orijtech/structslop: structslop is a static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency.
- Linter for explicit hint to interface which gets implemented.
- Why no src directory?
- Some annoying moments in Golang
- In depth, complex technical implementation videos?