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;
}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
if (argc == 2) {
//
// explanatory comment
//
}
Also, Dave hates Hungarian notation of any flavor.