关于C++编程规范

来源:互联网 发布:淘宝销售软件下载 编辑:程序博客网 时间:2024/06/08 15:34

任何语言都需要编程规范的,相对于Java和Python等强化范式的编程语言,C++对于编程规范的需求更加强烈,因为这样的编程语言实在是太复杂,而且深入到计算机模型底层,直接对于硬件和内存进行操作,相对于虚拟机托管的编程语言,更容易在倏忽之间犯错。造成bug。作为一个熟练使用C++进行编程程序员来说,我对于C++编程规范拥有一些自己的想法。

我度过Clean Code这本书,但是我没有将他读完,由于这本书实在是太枯燥了,而且,我不认为它推荐的方式比较好。可能更大的原因在于我不认同他的编程style吧,我更倾向于自行总结一套编程规范。

C++的编程规范:

1. 使用引用或者是指针,不要使用值传递,这样比较高效而且占用内存小。

我本人是喜欢使用C++ 的指针的,因为这样与C语言的兼容性比较好,我的程序中一般大量使用C++的指针,所有对象调用函数都是用“->”语法,看起来赏心悦目。重要的一点是最好只自己产生指针,传入调用过程,之后传出调用过程,不要把自己产生的对象指针传送出去。以免内存泄露。获得的指针自己要检验。

2. 程序中使用的对象的基本原则是,“谁产生,谁管理”,谨慎对待对象传递。

只有谁产生,谁管理的方式才能比较有效的预防内存泄漏。一些程序员喜欢类似于工厂类的方式产生对象,我对于这种方式一般是比较反对的。除非没有办法,不要使用这种方式,容易造成内存泄漏,因为你不知道别的程序员会如何对待你产生的对象,不要将对象传递出去之后就不再管理了,如果有办法,请不要撒手不管。另外请谨慎的对待这种产生对象传递的方式,能利用值传递简单应付的请利用值传递的方式。没必要将整个内存空间的指针传来传去的情况下,单纯的值传递,容易排查和调试,接口简单。

3. 程序中的指针处理。

如果不是你产生的指针,那么请不要对他放心。需要你谨慎对待,有可能的空指针检测,预防超界。如果接管一个对方传送过来的指针的时候,一定要弄清楚对方的对象产生的方式,究竟是生成一个指针就脱手,还是重复利用这个指针干事。这意味着你真的接管指针还是复制指针中的内容。

4. 每个类只干一件事,尽量将这件事情干好,多设计不同的类进行协调。

每个类只干一件事情,这样类的工作逻辑就比较简单,代码相对较小,这样的程序好理解,好排故,好设计,好实现,好拓展。

5. 不要滥用继承。

如果子类不是需要完全的继承所有超类的所有功能,不要贸然继承超类,这样会造成接口臃肿,造成歧义,使用不当造成bug。

6.接口简化,简化,更简化。


++++++++++++++++++++++++++++++++++++

思路有点乱,但是主要思路还是写出来了。

今后会不断的将编程过程中遇到的经验教训写下来,不断丰富

0 0