分析语言命名风格
Prerequisite
-
大小写和下划线风格仅是利用英语单词的信息冗余帮助快速理解符号的种类.
- 不含大小写的语言将无法应用命名风格.
-
PnpSolverConfig
-
pnpSolverConfig
- 单个单词时无法与小写下划线区分
-
pnp_solver_config
-
PNP_SOLVER_CONFIG
- 单个字母时无法与大驼峰区分
-
函数: 电路编码. 无状态. 有地址.
- 函数指针:也是变量. 重载了 call 方法的变量.
- 仅仅重载 call 方法的符号也可能可以运算.
-
变量: 有地址.
- 常量:无状态
- 可变量:有状态
-
模块 / namespace: 编译时符号
-
类型: 编译时符号 / 内存分布规则
-
scope
- 全局
- 当前函数
- 成员
-
注意:函数实际上只有全局.
Rustfmt
-
容易区分变量是哪种作用域:全局、成员、当前函数
-
难以区分全局函数和局部函数.
zig fmt
-
容易区分变量是否重载了 call.
-
容易区分变量是哪种作用域:全局、成员、当前函数
-
难以区分全局变量和局部变量.