Re:My personal C coding style as of late 2023
by ggliv on Monday October 09, 2023 @09:37AM
(#37820341)
Could you elaborate on the reasoning behind using byte length instead of bit length?
Most of the time when I use fixed-width int types I’m trying to create guarantees for bitwise operators. From my perspective I feel like it therefore makes the most sense to name types on a per-bit level.
Re:My personal C coding style as of late 2023
by vitiral on Monday October 09, 2023 @07:10PM
(#37826618)
We almost always talk in bytes. When trying to reason about alignment it's bytes, when reading a serial IO from a file it's bytes. I hardly ever think in bits and when I do, I think in hex not decimal.
I also like that it makes all the type names the same width (notably U1/U2 vs u8/u16).
U1, U2, U4, U8, I1, I2, etc
Also S for "slot" aka unsigned pointer sized integer (usize_t)
Another big point is formatting code to line-up instead of with an autoformatter. When you are doing something which is almost the same but slightly different it helps readability considerably. It is also a sign of a well-loved codebase, since I've never seen an autoformatter that can do it.
Maybe we could make formatters at least auto _detect_ that code is already aligned and to just leave that code alone. Some kind of "love heuristic"