- 重要性
- 可读性直接影响编程效率
- 只有在核心领域为了效率才可以放弃可读性
- 变量起名
- 选用比较有表达力的单词(send, find, start, make)
- 循环迭代器起名更加讲究(i\(\Rightarrow\)user_i)
- 作用域越大,名字越长
- 名字不能带来歧义
- 布尔相关: is, can, has
- 数量范围: min, max
- 空间范围: first&last, begin&end(end不包含尾部)
- 代码风格
- 适当空行和缩进
- 注释应当简洁明了, 可利用特殊标记(TODO, FIXME, HACK)
- 拆分长表达式
- 抽取函数且一次只做一件事
- 避免嵌套
for (let i = 0; i < 10; i++) { if (!cond) continue; ... // <- 没有额外的嵌套 }
- 先用自然语言表述代码
- 减少代码量
- 不要过度设计,过度设计的内容到最后往往是无用的
- 多用标准库实现