Zig Code Style

Oct 27, 2023

Very opinionated extension to the Zig style guide.

Top-to-bottom source file hierarchy

File GroupSorting OrderLetter Case
DirectoryDescending alphabeticallykebab-case
Namespace fileDescending alphabeticallysnake_case
Struct fileDescending alphabeticallyTitleCase

Top-to-bottom file container layout

For imports, aliases, and namespaces first list std, then modules, then files.

Item GroupSorting OrderLetter Case
ImportsAscending by lengthOriginal case
NamespacesAscending by lengthOriginal case
Global variablesAscending by lengthSCREAMING_SNAKE_CASE
Global constantsAscending by lengthSCREAMING_SNAKE_CASE
Type aliasesAscending by lengthTitleCase
Error setsDescending by lengthTitleCase
EnumsDescending by lengthTitleCase
UnionsDescending by lengthTitleCase
StructsDescending by lengthTitleCase
Error set valuesAscending by lengthTitleCase
Enum valuesDescending by lengthTitleCase
Union enum fieldsDescending by lengthTitleCase
Union fieldsDescending by lengthsnake_case
Struct fieldsDescending by lengthsnake_case
Init/deinit methodsAscending by lengthcamelCase
Other methodsDescending by lengthcamelCase
Utility functionsDescending by lengthcamelCase
Test declarationsOriginal ordersnake_case