
编码规范
WassermeloneBuch
种瓜得瓜
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C/C++ 编码规范(持续撰写ing)
原创:rainbowcode原创链接:最全面的C/C++编码规范总结 - rainbowcode的个人空间 - OSCHINA宗旨:保证代码在高质量完成需求的同时具备良好的可读性、可维护性。目标:代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余,不符合这些原则,必须特别说明。规范性,代码有规可循。特殊排版、特殊语法、特殊指令,必须特别说明。参考书籍《Goo...转载 2019-08-23 16:28:18 · 599 阅读 · 0 评论 -
C++中拷贝构造函数的调用及返回值优化问题
关闭返回值优化:C++中临时对象及返回值优化:关闭返回值优化以后执行以下函数:#include <iostream>#include <string.h>class student {public: // 普通构造函数 student(int i, char* c, int a, float s) { std::cout &...转载 2019-08-30 17:00:34 · 475 阅读 · 0 评论 -
第十三章、程序效率
第十三章、程序效率原则7.1 在保证软件系统的正确性、简洁、可维护性、可靠性及可测性的前提下,提髙代码效率。说明:不能一味地追求代码效率,而对软件的正确、简洁、可维护性、可靠性及可测性造成影响。 产品代码中经常有如下代码:int foo()if (异常条件) { 异常处理; return ERR_CODE_1; }if (异常条件) { 异常处理; return ERK_CO...原创 2019-08-28 13:53:14 · 311 阅读 · 0 评论 -
第十二章、可测性
第十二章 可测性文章目录第十二章 可测性原则、规则和建议在设计阶段就必须考虑所编写代码的可测试性,只有提供足够的测试手段才能全面、高效地发现和解决代码中的各类问题。编写的代码是否可测试,是衡量代码质量的最基本的、 最重要的尺度之一。程序设计过程中(或程序编码完毕后),必须编写软件模块测试文档,测试文档的编写 规范参见后续规范,主要应包括:设计思路、程序输入、程序输出和数据结构等。测试是设 计...原创 2019-08-28 13:50:24 · 326 阅读 · 0 评论 -
第十一章、内存管理和安全性
11、可靠性原则6. 1 代码质量保证优先原则(1) 正确性,指程序要实现设计要求的功能。(2) 简洁性,指程序易于理解并且易于实现。(3) 可维护性,指程序被修改的能力,包括纠错、改进、新需求或功能规格变化的适应能力。(4) 可靠性,指程序在给定时间间隔和环境条件下,按没计要求成功运行程序的概率。(5) 代码可测试性,衍软件发现故障并隔离、定位故障的能力,以及在一定的时间和成本前提下...原创 2019-08-28 13:28:52 · 638 阅读 · 0 评论 -
第五章、注释
第五章、注释原则5.1 优秀的代码可以自我解释,不通过注释即可轻易读懂。说明:优秀的代码不写注释也可轻易读懂,注释无法把糟糕的代码变好,需要很多注释来解释的代码往往存在坏味道,需要重构。示例:注释不能消除代码的坏味道:/*判断m是否为素数*/ /*返冋值::是素数,:不是素数*/int p(int m) { int k = sqrt(m): for (int i = 2; i &l...原创 2019-08-27 22:00:49 · 337 阅读 · 0 评论 -
第十章、函数与过程
文章目录第十章、函数与过程10.1 参数10.2 返回值10.3 内部实现10.4 函数调用第十章、函数与过程函数是 C/C++程序的基本功能单元。如何编写出正确、高效、易维护的函数是软件编码 质量控制的关键。一个函数包括函数头,函数名,函数体,参数,返回值。其中函数头的编 写参见第三章注释,函数名参见标识符命名规则,本章着重描述作为接口要素的参数和返回 值,函数体的实现以及函数相互之间的调用...原创 2019-08-28 09:18:38 · 607 阅读 · 0 评论 -
第九章、表达式与语句
第九章、表达式与语句表达式是语句的一部分,它们是不可分割的。表达式和语句虽然看起来比较简单,但使 用时隐患比较多。本章归纳了正确使用表达式和 if、for、while、goto、switch 等基本语句的 一些规则与建议。在写表达式和语句的时候要注意运算符的优先级,C/C++语言的运算符有 数十个,运算符的优先级与结合律如下表所示。9.1 运算符的优先级与结合律表优先级按从高到低排列...原创 2019-08-28 09:16:30 · 630 阅读 · 1 评论 -
第七章、宏与枚举
第七章、宏、常量规则7.1用宏定义表达式时,要使用完备的括号。说明:M为宏只是简单的代码替换,不会像函数一样先将参数计算后,再传递。 示例:如下定义的宏都存在一定的风险。#define RECTANGLE_AREA(a, b) a*b//若有除法运算,c/a*b计算错误#define RECTANGLE_AREA(a, b) (a*b)//a+1*b+1计算错误#define REC...原创 2019-08-28 09:12:31 · 482 阅读 · 0 评论 -
第八章、类型与结构
第八章、类型与结构8.1 使用严格形式定义的、可移植的数据类型,尽量不要使用与具体硬件或软件环境关系密切的变量说明:使用统一的自定义数据类型,有利于程序的移植。自定义数据类型类型说明类型定义(以 Win32 为例)VOID空类型voidbool逻辑类型 (true 或 false)unsigned charU8/BYTE/ UCHAR无符号 8 位...原创 2019-08-28 09:12:22 · 373 阅读 · 0 评论 -
第五章、注释
第五章、注释原则5.1 优秀的代码可以自我解释,不通过注释即可轻易读懂。说明:优秀的代码不写注释也可轻易读懂,注释无法把糟糕的代码变好,需要很多注释来解释的代码往往存在坏味道,需要重构。示例:注释不能消除代码的坏味道:/*判断m是否为素数*/ /*返冋值::是素数,:不是素数*/int p(int m) { int k = sqrt(m): for (int i = 2; i &l...转载 2019-09-06 09:32:20 · 349 阅读 · 0 评论 -
第六章、常量与变量
第六章、变量原则6.1 一个变量只有一个功能,不能把一个变量用作多种用途。说明:一个变量只用来表示一个特定功能,不能把一个变量作多种用途,即同一变量取值不同时,其代表的意义也不同。原则6. 2 结构功能单一, 不要设计面面俱到的数据结构。原则6. 3 不用或者少用全局变量。说明:全局变量是增大模块间耦合的原因之一,应尽可能的不用。必须要使用时,请参看以 下关于全局变量相关的条款。单个文件...原创 2019-08-27 21:57:29 · 497 阅读 · 0 评论 -
第四章、排版与格式
文章目录第四章、排版与格式第四章、排版与格式规则4.1 程序块采用缩进风格编写,每级缩进为4个空格。说明:当前各种编辑器/IDE都支持TAB键自动转空格输入,需要打开相关功能并设置相关功能。补充:缩进可以使用空格和 TAB,但在同一个文件中不能混用 TAB 和空格。规则4. 2 相对独立的程序块之间、变量说明之后必须加空行。示例:if (!valid_ni(ni)) {// pro...原创 2019-08-27 21:53:33 · 423 阅读 · 1 评论 -
第三章、标识符命名与定义
文章目录三、标识符命名与定义3.1通用命名规则3.1.1 骆驼命名法3.1.2 大驼峰法(帕斯卡命名法)3.1.3 匈牙利命名法3.1.4 下划线命名法3.2文件命名规则3.3变量命名规则3.4函数命名规则3.5宏的命名规则3.6 命名规则的使用原则三、标识符命名与定义3.1通用命名规则3.1.1 骆驼命名法小驼峰法(camel方法)变量一般用小驼峰法标识。第一个单词以小写字母开始;第二个...原创 2019-08-27 21:47:27 · 769 阅读 · 0 评论 -
第十五章、易混淆概念
目录15.1 C++中临时对象及返回值优化原创 2019-08-30 17:04:56 · 272 阅读 · 0 评论