代码规范
参考:Google编程风格
文件命名
「文件名」文件名全部小写
在linux下会区分大小写,为了方便跨平台,建议直接用小写
编码问题
「文件编码」代码文件采用utf-8且带签名的编码(带有BOM的UTF-8)
- windows系统的编码是gdk,linux的系统编码不是gdk
- 用记事本打开,另存为即可看到文件编码
「编译编码、执行编码」
- 编译编码:即是源代码文件的编码
- 执行编码:在程序运行中,一些数据的编码(如string的编码),这些数据可以是从外部导入进来的,也可能是内部创建的
问题:只有这两种编码格式是相同的,显示出来的结果才是正常的
解决:
- 方法一:直接告诉编译系统,是什么编码,在执行过程中会动态转换,以达到统一编码的目的
- 方法二:平台自定义的string会帮我们动态转换,设置系统编码为utf8的,所有的内容都会转成utf8
编码规范
- 匿名函数必须指定返回值类型,并且必须有返回值。在release的优化下,会出错!
- 变量一定要初始化,否则在Release下会造成各种崩溃,这一点在cmake编译成果非常容易出现。参考
全局变量写在最前
全局变量写在最前,不要出现重复定义的情况
// 函数内的全局变量也要申明在最前面。若函数实现较长,很容易出现重名情况
void run(){
bool *visit; //函数内的全局变量都写在最前面
//.....很长
visit = new bool[pointNum]{false};
delete visit; //函数内的全局变量的析构
}