CodeStyle-sfiction
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
sfiction的代码风格,权作参考。
1. 空格。
* 不加空格
* 括号
* 单目运算符
* 各类取成员运算符
* 只在后面加空格
* 逗号运算符
* for语句中的分号
* 两侧都加空格
* 其他二目运算符
* 条件运算符
2. 变量名。除非是非常短的代码,否则变量名应尽量取得有意义。最好是3-5个字符。更长的变量名大概需要控制出现次数。
* 常用短变量名
* 循环控制: cas, casi, i, j, k, l
* 树类结构: l, r, m
* 临时变量: t
* 图论相关: E, u, v, w
* 计算几何:x, y, z, A, B, C
* 动态规划: f
* 队列: Q
* 常用变量名
* 循环控制: flag
* 临时变量: temp
* 二分: high, low, mid, key
* 图论相关: dis(t), pre, nex, vis, mat
* 递归调用: res, ret
* 其他: sum, len, cnt, ans
3. 需反复使用的常量使用#define或const,如MAXN和MAXM。格子题四连通和八连通的增量一般也用const。
4. 一般多用字符数组而不是string。一些时间充裕、处理复杂的题目用string可以简化代码。
5. if, for, while等语句的语句体中即使只有一个语句也加大括号。方便加入调试信息。有时候可能过于碍眼,自行斟酌。
'''以下各条请谨慎使用!'''
1. 将多个简单语句缩为一个复杂语句。需要对运算符优先级、运算符副作用、表达式计算有一定了解。
2. 为求简洁在优先级符合需求的情况下不写括号。需要对运算符优先级、运算符副作用、表达式计算有一定了解。
3. 用for代替结构简单的while。
sfiction的代码风格,权作参考。
1. 空格。
- 不加空格
- 括号
- 单目运算符
- 各类取成员运算符
- 只在后面加空格
- 逗号运算符
- for语句中的分号
- 两侧都加空格
- 其他二目运算符
- 条件运算符
2. 变量名。除非是非常短的代码,否则变量名应尽量取得有意义。最好是3-5个字符。更长的变量名大概需要控制出现次数。
- 常用短变量名
- 循环控制: cas, casi, i, j, k, l
- 树类结构: l, r, m
- 临时变量: t
- 图论相关: E, u, v, w
- 计算几何:x, y, z, A, B, C
- 动态规划: f
- 队列: Q
- 常用变量名
- 循环控制: flag
- 临时变量: temp
- 二分: high, low, mid, key
- 图论相关: dis(t), pre, nex, vis, mat
- 递归调用: res, ret
- 其他: sum, len, cnt, ans
3. 需反复使用的常量使用#define或const,如MAXN和MAXM。格子题四连通和八连通的增量一般也用const。
4. 一般多用字符数组而不是string。一些时间充裕、处理复杂的题目用string可以简化代码。
5. if, for, while等语句的语句体中即使只有一个语句也加大括号。方便加入调试信息。有时候可能过于碍眼,自行斟酌。
以下各条请谨慎使用!
1. 将多个简单语句缩为一个复杂语句。需要对运算符优先级、运算符副作用、表达式计算有一定了解。
2. 为求简洁在优先级符合需求的情况下不写括号。需要对运算符优先级、运算符副作用、表达式计算有一定了解。
3. 用for代替结构简单的while。