译者 (YuleFox) 笔记

  • 对于代码格式, 因人, 系统而异各有优缺点, 但同一个项目中遵循同一标准还是有必要的;
  • 行宽原则上不超过 80 列, 把 22 寸的显示屏都占完, 怎么也说不过去;
  • 尽量不使用非 ASCII 字符, 如果使用的话, 参考 UTF-8 格式 (尤其是 UNIX/Linux 下, Windows 下可以考虑宽字符), 尽量不将字符串常量耦合到代码中, 比如独立出资源文件, 这不仅仅是风格问题了;
  • UNIX/Linux 下无条件使用空格, MSVC 的话使用 Tab 也无可厚非;
  • 函数参数, 逻辑条件, 初始化列表: 要么所有参数和函数名放在同一行, 要么所有参数并排分行;
  • 除函数定义的左大括号可以置于行首外, 包括函数/类/结构体/枚举声明, 各种语句的左大括号置于行尾, 所有右大括号独立成行;
  • ./-> 操作符前后不留空格, */& 不要前后都留, 一个就可, 靠左靠右依各人喜好;
  • 预处理指令/命名空间不使用额外缩进, 类/结构体/枚举/函数/语句使用缩进;
  • 初始化用 = 还是 () 依个人喜好, 统一就好;
  • return 不要加 ();
  • 水平/垂直留白不要滥用, 怎么易读怎么来.
  • 关于 UNIX/Linux 风格为什么要把左大括号置于行尾 (.cc 文件的函数实现处, 左大括号位于行首), 我的理解是代码看上去比较简约, 想想行首除了函数体被一对大括号封在一起之外, 只有右大括号的代码看上去确实也舒服; Windows 风格将左大括号置于行首的优点是匹配情况一目了然.