代码规范

参考:Google编程风格

文件命名

「文件名」文件名全部小写
在linux下会区分大小写,为了方便跨平台,建议直接用小写

编码问题

「文件编码」代码文件采用utf-8且带签名的编码(带有BOM的UTF-8)

  1. windows系统的编码是gdk,linux的系统编码不是gdk
  2. 用记事本打开,另存为即可看到文件编码

「编译编码、执行编码」

  1. 编译编码:即是源代码文件的编码
  2. 执行编码:在程序运行中,一些数据的编码(如string的编码),这些数据可以是从外部导入进来的,也可能是内部创建的

问题:只有这两种编码格式是相同的,显示出来的结果才是正常的
解决:

  1. 方法一:直接告诉编译系统,是什么编码,在执行过程中会动态转换,以达到统一编码的目的
  2. 方法二:平台自定义的string会帮我们动态转换,设置系统编码为utf8的,所有的内容都会转成utf8

编码规范

  1. 匿名函数必须指定返回值类型,并且必须有返回值。在release的优化下,会出错!
  2. 变量一定要初始化,否则在Release下会造成各种崩溃,这一点在cmake编译成果非常容易出现。参考

全局变量写在最前

全局变量写在最前,不要出现重复定义的情况

  1. // 函数内的全局变量也要申明在最前面。若函数实现较长,很容易出现重名情况
  2. void run(){
  3. bool *visit; //函数内的全局变量都写在最前面
  4. //.....很长
  5. visit = new bool[pointNum]{false};
  6. delete visit; //函数内的全局变量的析构
  7. }