Skip to content

Commit f43c8e1

Browse files
authored
update to 1.0 beta (#108)
* V 0.3 * V0.3: modify README * update Version to 0.3 * add code example for P.SEC.01 * modify P.SEC.01 * 3.30 review * update * update to 1.0 beta
1 parent 7363f08 commit f43c8e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+278
-677
lines changed

Changelog.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,12 @@
1616

1717
- 将当前无法使用 Clippy 检查的规则(G)统一修改为了原则(P)
1818
- 删除和修复一些条款
19-
- 新增 信息安全 `P.SEC.01` 条款
19+
- 新增 信息安全 `P.SEC.01` 条款
20+
21+
22+
## V 1.0 beta 发布
23+
24+
改进:
25+
26+
- 更新目录结构
27+
- 对文字和代码整体做了一遍评审,改进文字描述和代码格式

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- 《Rust 编码规范》初稿发布 2021-10-31 (V 0.1)
66
- 《Rust 编码规范》经社区和公司内第一次评审版本发布 2022-02 (V 0.2) ,改进内容参考 [Changelog](./Changelog.md)
77
- 《Rust 编码规范》经社区和公司内第二次评审版本发布 2022-03 (V 0.3) ,改进内容参考 [Changelog](./Changelog.md)
8+
- 《Rust 编码规范》经社区和公司内第二次评审版本发布 2022-04 (V 1.0 beta) ,改进内容参考 [Changelog](./Changelog.md)
89

910
## 介绍
1011

book.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ authors = ["blackanger"]
33
language = "zh"
44
multilingual = false
55
src = "src"
6-
title = "Rust 编码规范 V 0.3"
6+
title = "Rust 编码规范 V 1.0 beta"
77

88
[build]
99
create-missing = true

src/SUMMARY.md

Lines changed: 250 additions & 250 deletions
Large diffs are not rendered by default.

src/overview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- 《Rust 编码规范》初稿发布 2021-10-31 (V 0.1)
66
- 《Rust 编码规范》经社区和公司内第一次评审版本发布 2022-02 (V 0.2)
77
- 《Rust 编码规范》经社区和公司内第二次评审版本发布 2022-03 (V 0.3)
8+
- 《Rust 编码规范》经社区和公司内第二次评审版本发布 2022-04 (V 1.0 beta)
89

910
## 详细
1011

src/safe-guides/code_style/comments.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,6 @@
55
在原则和规则中提到「注释」时,包括普通注释和文档注释。当提到「文档」时,特指文档注释。
66

77

8-
## 列表
9-
10-
- [P.CMT.01 代码能做到自注释,文档要干练简洁](./comments/P.CMT.01.md)
11-
- [P.CMT.02 注释应该有宽度限制](./comments/P.CMT.02.md)
12-
- [P.CMT.03 使用行注释而避免使用块注释](./comments/P.CMT.03.md)
13-
- [P.CMT.04 文件头注释包含版权说明](./comments/P.CMT.04.md)
14-
- [P.CMT.05 在注释中使用 FIXME 和 TODO 来帮助任务协作](./comments/P.CMT.05.md)
15-
- [G.CMT.01 在公开的返回Result类型返回的函数文档中增加 Error 注释](./comments/G.CMT.01.md)
16-
- [G.CMT.02 如果公开的API在某些情况下会发生Panic,则相应文档中需增加 Panic 注释](./comments/G.CMT.02.md)
17-
- [G.CMT.03 在文档注释中要使用空格代替 tab](./comments/G.CMT.03.md)
18-
19-
208
## 参考
219

2210
1. [RFC 505: API 注释约定](https://github.com/rust-lang/rfcs/blob/master/text/0505-api-comment-conventions.md)

src/safe-guides/code_style/fmt.md

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,3 @@ Rust 有自动化格式化工具 rustfmt ,可以帮助开发者摆脱手工调
1616

1717
1. 务必保证在全部把代码修改完毕且编译通过之后再执行 rustfmt 命令。 因为 rustfmt 执行过程中不会对代码进行编译,所以就不会有静态检查保护。
1818
2. 如果是使用 IDE 或 编辑器的时候开启了自动保护功能,就不要开启自动执行 rustfmt 功能。
19-
20-
## 列表
21-
22-
- [P.FMT.01 使用 rustfmt 进行自动格式化代码](./fmt/P.FMT.01.md)
23-
- [P.FMT.02 缩进使用空格(space)而非制表符(tab)](./fmt/P.FMT.02.md)
24-
- [P.FMT.03 行间距最大宽度空一行](./fmt/P.FMT.03.md)
25-
- [P.FMT.04 语言项(Item) 定义时左花括号(brace)位置应该与语言项保持同一行](./fmt/P.FMT.04.md)
26-
- [P.FMT.05 存在多个标识符时应该保持块状(Block)缩进](./fmt/P.FMT.05.md)
27-
- [P.FMT.06 当有多行表达式操作时,操作符应该置于行首](./fmt/P.FMT.06.md)
28-
- [P.FMT.07 枚举变体和结构体字段都应左对齐](./fmt/P.FMT.07.md)
29-
- [P.FMT.08 函数参数超过五个或导入模块个数超过四个需换行](./fmt/P.FMT.08.md)
30-
- [P.FMT.09 不同的场景,使用不同的空格风格](./fmt/P.FMT.09.md)
31-
- [P.FMT.10 `match` 分支应该具有良好的可读性](./fmt/P.FMT.10.md)
32-
- [P.FMT.11 导入模块分组应该具有良好的可读性](./fmt/P.FMT.11.md)
33-
- [P.FMT.12 声明宏分支应该具有良好的可读性](./fmt/P.FMT.12.md)
34-
- [P.FMT.13 具名结构体字段初始化时不要省略字段名](./fmt/P.FMT.13.md)
35-
- [P.FMT.14 extern 外部函数需要显式指定 C-ABI](./fmt/P.FMT.14.md)
36-
- [P.FMT.15 解构元组的时候允许使用`..`来指代剩余元素](./fmt/P.FMT.15.md)
37-
- [P.FMT.16 不要将派生宏中多个不相关的特质合并为同一行](./fmt/P.FMT.16.md)

src/safe-guides/code_style/fmt/P.FMT.02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## P.FMT.02 缩进使用空格(space)而非制表符(tab)
1+
## P.FMT.02 缩进使用空格而非制表符
22

33
**【描述】**
44

src/safe-guides/code_style/naming.md

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,3 @@
11
# 2.1 命名
22

33
好的命名风格能让我们快速地了解某个名字代表的含义(类型、变量、函数、常量、宏等),甚至能凸显其在整个代码上下文中的语义。命名管理对提升代码的可读性和维护性相当重要。
4-
5-
## 列表
6-
7-
- [P.NAM.01 类型名称应该使用统一的词序](./naming/P.NAM.01.md)
8-
- [P.NAM.02 为 cargo feature 命名时不应含有无意义的占位词](./naming/P.NAM.02.md)
9-
- [P.NAM.03 标识符命名应该符合阅读习惯](./naming/P.NAM.03.md)
10-
- [P.NAM.04 作用域越大命名越精确,反之应简短](./naming/P.NAM.04.md)
11-
- [P.NAM.05 用于访问或获取数据的 `getter` 类方法通常不要使用 `get_` 等前缀](./naming/P.NAM.05.md)
12-
- [P.NAM.06 遵循 `iter/ iter_mut/ into_iter` 规范来生成迭代器](./naming/P.NAM.06.md)
13-
- [P.NAM.07 避免使用语言内置保留字、关键字、内置类型和trait等特殊名称](./naming/P.NAM.07.md)
14-
- [P.NAM.08 避免在变量的命名中添加类型标识](./naming/P.NAM.08.md)
15-
- [P.NAM.09 定义全局静态变量时需加前缀`G_`以便和常量有所区分](./naming/P.NAM.09.md)
16-
- [G.NAM.01 使用统一的命名风格](./naming/G.NAM.01.md)
17-
- [G.NAM.02 类型转换函数命名需要遵循所有权语义](./naming/G.NAM.02.md)
18-

src/safe-guides/coding_practice/async-await.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,4 @@
33
`async / await` 是 Rust 语言用于编写像同步代码一样的异步函数的内置工具。`async` 将一个代码块转化为一个实现了名为 `Future` 的特质 (trait)
44
的状态机。虽然在同步方法中调用阻塞函数会阻塞整个线程,但阻塞的 `Future` 将让出线程控制权,允许其他 `Future` 运行。
55

6-
Rust 异步编程需要依赖于异步运行时,生产环境中比较推荐的开源异步运行时是 [Tokio](https://github.com/tokio-rs/tokio)
7-
8-
## 列表
9-
10-
- [P.ASY.01 异步编程并不适合所有场景,计算密集型场景应该考虑同步编程](./async-await/P.ASY.01.md)
11-
- [G.ASY.01 在 async 块/函数中调用 async 函数/闭包请不要忘记添加.await](./async-await/G.ASY.01.md)
12-
- [G.ASY.02 在跨 await 调用中,需要对其持有的同步互斥锁进行处理](./async-await/G.ASY.02.md)
13-
- [G.ASY.03 在跨 await 调用中,需要对其持有 RefCell 的引用进行处理](./async-await/G.ASY.03.md)
14-
- [G.ASY.04 避免定义不必要的异步函数](./async-await/G.ASY.04.md)
15-
- [G.ASY.05 避免在异步处理过程中包含阻塞操作](./async-await/G.ASY.05.md)
6+
Rust 异步编程需要依赖于异步运行时,生产环境中比较推荐的开源异步运行时是 [Tokio](https://github.com/tokio-rs/tokio)

0 commit comments

Comments
 (0)