出来实习后遇到很多在编程上的问题。有很多是在编程上的小细节,这些细节有些很关键,有些无关紧要,但是均是值得积累下来并不断坚持下去的好习惯、好方法。所以在此积累下来,并持续更新~
-
magic number
程序中不允许出现常量数字(被称为magic number),因为之后别人看你的代码,没人看得懂,也无法知道此常量值代表什么,即使加了注释也是不推荐的,所有常量均已变量名形式出现。 -
判断语句
判断语句常量或者NULL均在前。要写成if(NULL!=a)而不要写成if(a!=NULL),原因是如果在编程时由于疏忽将==或!=写成了=,编译不会报错,而且运行时有一部分情况完全正确。为了避免这种情况发生,将NULL和常量写在前边,若使用=则编译会报错,并且精准定位。 -
变量、函数名
变量、函数名称宁可很长也要详细。哪怕是长到都是一句话了也应追求准确,并且格式、形式要与整体的风格保持一致。 -
段落注释
段落注释使用#if 0…#endif(即包含的代码不编译),此法好处是避免/* …*/ … */情况出现只能识别第一个 */ 问题。 -
数组中连续数据移动
数组中数据的移动使用memcpy效率更高,使用c++的话就不用连续赋值了。 -
乘除法
实现功能尽量对于乘除法要尽量少用,能够使用一次实现那就不要多次使用。实际编程中有时无法注意到这种细节,自己的导师就能直接发现问题。还有很长的路要走啊~ -
新添功能增加文件
非自己实现功能不需要自己去修改,等到他人实现功能时自己去添加。新添功能增加文件时不需要在非自己实现功能的文件里添加新的头文件,等到别人再次用到时自己去添加。 -
头文件顺序
顺序:.c文件对应的.h文件,c中标准库,系统库的.h,其他库的.h,本项目内其他的.h文件。
如:在test.c中将test.h放到最前面,保证当.h文件中遗漏某些必要库或有错误时,test.c的构建会立刻中止,从而减少编译时间。
这些小问题都是在实际开发时遇见或者犯过的错误,在向导师询问探讨后的出的结论,记录在此并不断更新~
上一段实习结束,进入一家新的公司,有一件非常让我惊讶的事,之前积累的编程习惯全是在日常任务中碰到询问导师或者自己查阅资料积累下来的,来到新公司有一个编程规范手册,里边记录了好多规范,我仔细翻阅之后发现我之前积累的这个手册中全有,真的是哭笑不得,不过这也证明之前积累的全部都是正确的。继续加油喽!
两段实习都结束了,毕业就进入正式工作了,实习代码经验贴也结束了,欢迎讨论和关注博主其他内容。