From a quick search I see that it uses braces at the end. I'd be curious if CNF encouraged subsystem prefixes (e.g. the "Ke" in "KeBugCheck").
I wonder if CNF had any influence on "Systems Hungarian" (e.g. "dwCreationFlags") that dominates the Win32 API or if that came as an accidental offshoot of Simonyi's "Application Hungarian"
//
// Comments are always surrounded both by empty comment lines
// And by whitespace
//
//
// The return type is always on its own line.
// The function name always starts at column 0 and is whitespace delimited,
// this (allegedly) was a consequence of search macros that Cutler used
//
int
main (
int argc,
char **argv)
{
//
// Even a one line comment ends up taking up at least 4 lines
//
printf("Hello, World!\n");
if (argc == 2)
{
//
// All blocks always use braces
//
}
return 0;
} if (argc == 2) {
//
// explanatory comment
//
}
Also, Dave hates Hungarian notation of any flavor.Regarding placement of curly braces, did you see them on their own line or at the end? This article seems to imply that CNF had braces at the end: https://blogs.msdn.microsoft.com/peterwie/2008/02/04/pedanti...
I'm interested because it seems that lower-level systems programming at Microsoft put braces at the end (early .NET BCL, maybe even the first C# compiler's C++ code, TypeScript compiler source, etc), but that Microsoft documentation tended to put braces on their own line and then that became the more de-facto style that shows up in their open source code.
You can see more examples of CNF in the now open-sourced Windows-Driver-Frameworks: https://github.com/Microsoft/Windows-Driver-Frameworks