高效C++规划

推荐写C++代码风格。看似easy。坚持不易,且写且珍惜!

--陈国林

1. 版本号和版本号声明

版本号和版本号文件声明位于头文件和定义文件的开头,主要内容

(1)版本号信息

(2)文件名、标识符、摘要

(3)当前的版本、作者、改动日期

(4)版本号历史信息

2. 程序版式

(1)在每一个类声明之后、每一个函数定义之后都要加上一个空行

(2)一行代码仅仅做一件事情

(3)if、for、while、do各占一行。运行语句不得紧跟其后,不论运行语句多少都加上{}

(4)尽量在定义一个变量的时候就初始化该变量

(5)程序分界符{和}必须独占一行而且左对齐

(6)代码长度不宜超过70至80个字符。超过之后拆成新行。操作符放在新行之首

(7)应该把*和&修饰符靠近变量名,比如int *x = &a

(8)类中建议先把public类型写在前面,再写private类型

3. 命名规则

(1)类名和函数名要用大写字母开头单词组成

(2)变量和參数要使用小写字母开头单词组成

(3)常量全用大写字母,用下划线切割单词

(4)静态变量加上前缀s_。比如static int s_num

(5)全局变量加上前缀g_,比如int g_num

(6)类的数据成员前面加上m_,能够和成员函数和静态成员区分开

4. 表达式和基本语句

(1)不可将bool值直接和true、false、0、1进行比較。

假设flag是bool类型,直接if(flag)这样推断就可以

(2)整型变量应该要直接和0比較,比方num为整型变量。if(num == 0)

(3)不可将浮点型变量直接用 == 和 !=来进行比較

(4)指针变量要直接和NULL进行比較,比如p为指针变量,if(p != NULL)

5. 函数设计

(1)函数參数的书写要完整,假设没有參数,用void填补

(2)假设參数有指针,而且该指针仅仅是读取作用应该要加上const,防止指针意外改动

(3)在函数的内部入口应该要对參数的有效性进行检查

(4)函数的功能要单一。不要设计多用途的函数

(5)函数体的规模要小。控制在50行代码

6. 内存管理

(1)malloc和new申请内存之后,应该要马上检查指针是否为NULL,防止使用指针值为NULL的内存。

(2)要对数组和动态内存赋初值。防止将未初始化的内存作为右值使用

(3)用free或delete释放了内存之后。马上将指针指向NULL,防止产生野指针。

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-12-07 20:40:57

高效C++规划的相关文章

Android开发者们,又准备跳槽了?

可能有很多朋友在做了多年技术之后都会进入一个迷茫期,对自己所负责的业务逻辑非常熟悉,但是每天就只是和各种需求和Bug打交道而已,总感觉对自身能力的提升并不大.虽然在公司里属于不可缺少的一员,但是同时又担心离开了这家公司就找不到更好的工作了.有这种焦虑的朋友或许应该思考一下这个问题:如何提升自己在 Android 市场上的竞争力?当你觉得进入到迷茫或者瓶颈期的时候其实更应该注重基础,也就是更加通用的技术. 1. 提升通用技术能力 一来通用技术如数据结构和算法.计算机网络.操作系统.计算机系统结构等

要学Java,怎么高效地学习,怎么规划

要学Java,怎么高效地学习,怎么规划? 题主是一个个例,99%的人(包括我自己)都没有题主这样的经历,也很难提出具有很强参考性的java学习建议.我倒是之前面试过一个跟题主有点类似的人,拿出来分享一下. 那时我们广撒网大量面试前端开发,遇到了他:年龄:20性别:男学历:初中职业:自由职业者经历:初中毕业后,在网吧当网管,靠在网上搜索教程自学javascript及网络技术.教过别人js,还录过js学习视频教程了解IE系列浏览器常见安全漏洞开发过网吧里操作网页的小工具也发起过sql注入.xss攻击

如何使用Flexbox和CSS Grid,实现高效布局

CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来. 使用 Flexbox 可以使元素对齐变得容易,因此 Flexbox 已经被广泛使用了. 同时,CSS Grid 布局也为网页设计行业带来了很大的便利.虽然 CSS Grid 布局未被广泛采用,但是浏览器逐渐开始增加对 CSS Grid 布局的支持. 虽然 Flexbox 和 CSS Grid 可

如何高效运营it项目

如何高效运营it项目呢?成为很多it项目管理者经常被问到的话题,也是需要其认真思考问题.倘若你it项目效率没办法提升,上级领导和客户对您的it团队不是很满意,不妨看看一些it项目管理者是如何通过这五步如何高效运营it项目呢? 改变心态推进IT 大多数的 IT 项目初始都涉及到一个思维转变或者文化转换.对于大多数 IT而言,根据不同的域,以往的成果都可以通过服务器响应时间或者网络正常运行时间统计数据来进行衡量.而在现如今的动态环境中,终端用户(无论是内部还是外部客户)的体验和交付的IT服务才是衡量

软件测试职业规划的思考

前言 入软件测试行至今已经8年多,承领导们的信任与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,每一步都刚刚好.最近在自身职业发展瓶颈,人生十字路口,静坐反思,重新审视个人规划与测试人员发展的这个问题,问回自己:你为什么做软件测试工程师?胡思乱想之下有了此文. 一.软件测试起源 网上有一些经典的软件事故,大家感兴趣可以自己搜索一下,我搜了几个列举如下: 简单总结:软件出现缺陷(BUG)导致经济或其他损失,因此有了软件测试. 由此可知软件测试目的:发现缺

web前端职业规划(转)

关于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了,坚持去认真走,就好.在这里,我只是简要说一下自己对于这块儿内容的理解.有一个观点想要分享给大家的是:任何规划和目标的实现都依赖于知识的积累,而知识的积累来源于学习及学习后大量的实践.我提供一个实践途径,我们可以在工作之余的时间在网上或外包公司那里接一些私单做,因为目标不是赚钱,我们可以用最低的价格来提升自身竞争力,获得大量订单就意味着获得大量的实践机会,同时,还有一些收入作为工作成就感之

学习笔记之--高效程序员的45个习惯

有本关于敏捷开发方面的书非常不错<高效程序员的45个习惯-敏捷开发修炼之道>,Venkat Subramaniam和Andy Hunt著,该书简短.易读.精炼.深入,深刻且实用.对于想要采用敏捷方法的人很有价值.此书通过常理和经验,阐述了为什么应该在项目中实用敏捷方法.更难得的是,这些行之有效的实战经验,竟然从一本书中得到了.如果能拿这些习惯在项目中一以贯之,肯定会受益匪浅.下本罗列该书这45个习惯,一并列出其中的Key Point. -----------------------------

蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程

***********************************************声明***********************************************************************  原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39860137 *******

大型网站的前期规划

从低成本.高性能和高扩张性的角度来说说网站的规划:HTML静态化.图片服务器分离.数据库集群和库表散列.缓存-- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件.编程语言.数据库.WebServer.防火墙等各个领域都有了很高的