aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/dev/style.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/dev/style.md b/docs/dev/style.md
index d24a5952e..f22b69768 100644
--- a/docs/dev/style.md
+++ b/docs/dev/style.md
@@ -636,6 +636,10 @@ use crate::{}
636 636
637// Finally, parent and child modules, but prefer `use crate::`. 637// Finally, parent and child modules, but prefer `use crate::`.
638use super::{} 638use super::{}
639
640// Re-exports are treated as item definitions rather than imports, so they go
641// after imports and modules. Use them sparingly.
642pub use crate::x::Z;
639``` 643```
640 644
641**Rationale:** consistency. 645**Rationale:** consistency.
@@ -694,6 +698,9 @@ Avoid local `use MyEnum::*` imports.
694Prefer `use crate::foo::bar` to `use super::bar` or `use self::bar::baz`. 698Prefer `use crate::foo::bar` to `use super::bar` or `use self::bar::baz`.
695**Rationale:** consistency, this is the style which works in all cases. 699**Rationale:** consistency, this is the style which works in all cases.
696 700
701By default, avoid re-exports.
702**Rationale:** for non-library code, re-exports introduce two ways to use something and allow for inconsistency.
703
697## Order of Items 704## Order of Items
698 705
699Optimize for the reader who sees the file for the first time, and wants to get a general idea about what's going on. 706Optimize for the reader who sees the file for the first time, and wants to get a general idea about what's going on.
@@ -944,6 +951,28 @@ match p.current() {
944 951
945## Documentation 952## Documentation
946 953
954Style inline code comments as proper sentences.
955Start with a capital letter, end with a dot.
956
957```rust
958// GOOD
959
960// Only simple single segment paths are allowed.
961MergeBehavior::Last => {
962 tree.use_tree_list().is_none() && tree.path().map(path_len) <= Some(1)
963}
964
965// BAD
966
967// only simple single segment paths are allowed
968MergeBehavior::Last => {
969 tree.use_tree_list().is_none() && tree.path().map(path_len) <= Some(1)
970}
971```
972
973**Rationale:** writing a sentence (or maybe even a paragraph) rather just "a comment" creates a more appropriate frame of mind.
974It tricks you into writing down more of the context you keep in your head while coding.
975
947For `.md` and `.adoc` files, prefer a sentence-per-line format, don't wrap lines. 976For `.md` and `.adoc` files, prefer a sentence-per-line format, don't wrap lines.
948If the line is too long, you want to split the sentence in two :-) 977If the line is too long, you want to split the sentence in two :-)
949 978