diff --git a/STYLE b/STYLE index 23cd0c5..4c03953 100644 --- a/STYLE +++ b/STYLE @@ -1,6 +1,8 @@ 0. Braces are mandatory for all control flow, as it improves the visibility of - scope. +scope. + 1. Nested indentation should be kept to a minimum. + 2. Empty lines should be placed between different kinds of statements: int t; @@ -22,7 +24,7 @@ return io; 3. Each block of code should be indented once more than the keyword which - initiated the block: +initiated the block: switch (c) { case 'e': mode |= EQUAL; break; @@ -32,13 +34,13 @@ } 4. In C, spaces should be placed in control flow statements after the keyword - and before the opening brace: +and before the opening brace: for (i = 2; i < argc; ++i) { 5. If a function, a C control flow statement, or a Rust macro has arguments that - cause the statement to be broken into multiple lines, this should be done by - placing the arguments on a new line inside the parentheses: +cause the statement to be broken into multiple lines, this should be done by +placing the arguments on a new line inside the parentheses: let usage = format!( "Usage: {} [-d delimiter] index command [args...]", @@ -46,7 +48,7 @@ ); 6. If Rust function arguments or fields are on their own lines, they should - always have a trailing comma: +always have a trailing comma: return Err(EvaluationError { message: format!("{}: Invalid token", i), @@ -54,21 +56,32 @@ }) 7. If text is on the same line as a brace, spaces should be placed after an - opening curly brace and before a closing one: +opening curly brace and before a closing one: use sysexits::{ EX_DATAERR, EX_IOERR, EX_UNAVAILABLE, EX_USAGE }; 8. If a control flow statement is short enough to be easily understood in a - glance, it may be placed on a single line: +glance, it may be placed on a single line: if (!argc < 0) { usage(program_name); } 9. In C, note everything you use from a library in a comment subsequent to its - #include statement: +#include statement: #include /* close(2), getopt(3), lseek(2), read(2), write(2), * optarg, optind, STDIN_FILENO, STDOUT_FILENO */ +10. In Rust, place extern statements after use statements that include standard +library crates. Group alike statements: + + use std::fs::Path; + + extern crate strerror; + extern crate sysexits; + + use strerror::StrError; + use sysexits::{ EX_OSERR, EX_USAGE }; + -- Copyright © 2024 Emma Tebibyte