STYLE: example for trailing comma & add includes guideline
This commit is contained in:
parent
dc2a4a39ba
commit
a0ed14a089
84
STYLE
84
STYLE
|
@ -1,53 +1,65 @@
|
|||
- Braces are mandatory for all control flow
|
||||
- Nested indentation should be kept to a minimum
|
||||
- Empty lines should be placed between different kinds of statements:
|
||||
0. Braces are mandatory for all control flow, as it improves the visibility of
|
||||
scope.
|
||||
1. Nested indentation should be kept to a minimum.
|
||||
2. Empty lines should be placed between different kinds of statements:
|
||||
|
||||
int t;
|
||||
int t;
|
||||
|
||||
assert(io->bufuse > 0);
|
||||
assert(io->bufuse <= io->bs);
|
||||
assert(io->bufuse > 0);
|
||||
assert(io->bufuse <= io->bs);
|
||||
|
||||
if ((t = write(io->fd, io->buf, io->bufuse)) < 0) {
|
||||
io->error = errno;
|
||||
t = 0;
|
||||
} else if (t > 0) {
|
||||
memmove(io->buf, &(io->buf)[t], (io->bufuse -= t));
|
||||
}
|
||||
if ((t = write(io->fd, io->buf, io->bufuse)) < 0) {
|
||||
io->error = errno;
|
||||
t = 0;
|
||||
} else if (t > 0) {
|
||||
memmove(io->buf, &(io->buf)[t], (io->bufuse -= t));
|
||||
}
|
||||
|
||||
io->bytes += t;
|
||||
io->prec += (t > 0 && io->bufuse > 0);
|
||||
io->rec += (t > 0 && io->bufuse == 0);
|
||||
io->bytes += t;
|
||||
io->prec += (t > 0 && io->bufuse > 0);
|
||||
io->rec += (t > 0 && io->bufuse == 0);
|
||||
|
||||
return io;
|
||||
return io;
|
||||
|
||||
- Cases in switch statements and matches in match statements should be indented
|
||||
one level
|
||||
- In C, spaces should be placed in control flow statements after the keyword and
|
||||
before the opening brace:
|
||||
3. Cases in switch statements and matches in match statements should be indented
|
||||
one level
|
||||
4. In C, spaces should be placed in control flow statements after the keyword
|
||||
and before the opening brace:
|
||||
|
||||
for (i = 2; i < argc; ++i) {
|
||||
for (i = 2; i < argc; ++i) {
|
||||
|
||||
- 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:
|
||||
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:
|
||||
|
||||
let usage = format!(
|
||||
"Usage: {} [-d delimiter] index command [args...]",
|
||||
argv[0],
|
||||
);
|
||||
let usage = format!(
|
||||
"Usage: {} [-d delimiter] index command [args...]",
|
||||
argv[0],
|
||||
);
|
||||
|
||||
- If Rust function arguments or fields are on their own lines, they should
|
||||
always have a trailing comma.
|
||||
6. If Rust function arguments or fields are on their own lines, they should
|
||||
always have a trailing comma:
|
||||
|
||||
- If text is on the same line as a brace, spaces should be placed after an
|
||||
opening curly brace and before a closing one:
|
||||
return Err(EvaluationError {
|
||||
message: format!("{}: Invalid token", i),
|
||||
code: EX_DATAERR,
|
||||
})
|
||||
|
||||
use sysexits::{ EX_DATAERR, EX_IOERR, EX_UNAVAILABLE, EX_USAGE };
|
||||
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:
|
||||
|
||||
- If a control flow statement is short enough to be easily understood in a
|
||||
glance, it may be placed on a single line:
|
||||
use sysexits::{ EX_DATAERR, EX_IOERR, EX_UNAVAILABLE, EX_USAGE };
|
||||
|
||||
if (!argc < 0) { usage(program_name); }
|
||||
8. If a control flow statement is short enough to be easily understood in a
|
||||
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 <unistd.h> /* close(2), getopt(3), lseek(2), read(2), write(2),
|
||||
* optarg, optind, STDIN_FILENO, STDOUT_FILENO */
|
||||
|
||||
--
|
||||
Copyright © 2024 Emma Tebibyte <emma@tebibyte.media>
|
||||
|
|
Loading…
Reference in New Issue
Block a user