Re: coding standard....that is THE touchstone Programming Holy War subject. Formatting and 'proper' braces placement are two of the most volatile Jihad inducing precepts.
+-----+
One thing that is generally not explicitly stated or even considered regarding coding standards (at least not that I've noticed):
Using more than one compiler when writing and testing code. Code that compiles and runs with one compiler
should work with another, but there are edge cases when it doesn't.
In my experience, limited as it is, WinAPI code is the biggest offender. Really strange is the usual "won't work" issue is with MS Visual Studio. WinAPI code that compiles without any apparent problems with, say, MinGW can have issues when trying to compile with VS. Even if it compiles minor runtime problems can crop up.
99.9999% of WinAPI and C/C++ code is transportable between compilers. It is rare indeed when it isn't.
Especially ticklish is when code is compiled for x64 vs. x86. Subtle runtime errors can creep courtesy of POD data types having different storage requirements. Pointers can have different sizes x86 vs. x64.
+-----+
I'm 'lucky' in not being a work-a-day programmer, I am a self-taught hobbyist. I have no corporate required deadlines to meet, I can leisurely spend time
dinkin' around with aspects of C++/WinAPI that interest me.
When learning some new (to me) feature in C/C++/WinAPI I write a lot of test code, little snippets to poke around to understand what can and can't be done.
Some I even post on GitHub.
One of my earliest bits o' code is a simple C++ random toolkit header, to help using the C++ <random> library as easy to use as C's srand/rand functions for most trivial uses.
https://github.com/GeorgePimpleton/cpp_misc_files/tree/main/Random%20Toolkit
I freely admit the idea is not mine, I shamelessly stole it from an ISO C++ Committee working paper. My sole contribution is to augment it, giving it more versatility.