开发管理之代码编码规范

合集下载

代码开发规范

代码开发规范

代码开发规范代码开发规范是指开发团队在进行代码编写和维护时遵循的一系列规则和标准。

良好的代码规范可以提高代码的可读性、可维护性和可扩展性,减少代码的错误和缺陷。

1. 命名规范:- 使用有意义的命名:变量、函数、类和文件命名应具有相关性,能够清楚地表达其含义。

- 遵循命名约定:使用一致的命名约定,如驼峰命名法或下划线命名法。

- 避免使用过长或过短的命名。

- 避免使用拼音或缩写命名。

2. 注释规范:- 提供详细和清晰的注释:注释应解释代码的意图、实现细节和特殊考虑。

- 避免无用的注释。

- 注释应该与代码保持同步,保持更新。

3. 代码结构:- 使用适当的缩进和空格来提高代码的可读性。

- 使用合适的格式化和对齐规则。

- 函数和类的定义应该遵循良好的结构和概念标准。

- 避免冗余的代码块和重复的代码。

4. 错误处理:- 在代码中处理异常情况,避免出现未处理的异常。

- 使用适当的错误处理机制,如异常处理或错误返回值。

- 避免使用空的catch块。

5. 单元测试:- 编写单元测试来验证代码的正确性。

- 单元测试应该有清晰的测试目的,覆盖尽可能多的代码路径。

- 单元测试应该能够独立运行,不依赖于外部环境或其他测试。

6. 版本控制:- 使用版本控制工具来管理代码的版本和变更历史。

- 遵循版本控制的最佳实践,如频繁提交、合理分支管理等。

- 避免在版本控制中存储二进制文件。

7. 安全性:- 在代码中防止常见的安全漏洞,如SQL注入、跨站脚本攻击等。

- 避免使用硬编码的密码和敏感信息。

- 使用安全的身份验证和授权机制。

8. 性能优化:- 减少不必要的计算和内存消耗。

- 使用高效的算法和数据结构。

- 避免频繁的IO操作。

- 使用缓存和异步操作来提高性能。

9. 文档:- 提供清晰和详尽的文档,包括代码注释、README文件和用户指南。

- 文档应该包含代码的使用方法、配置说明和常见问题解答等。

10. 持续集成:- 使用持续集成工具来自动构建、测试和部署代码。

编码管理制度

编码管理制度

编码管理制度1. 前言编码是企业软件开发过程中的关键环节,良好的编码管理能够提高代码质量、减少错误、提升开发效率。

为了规范编码行为,提高团队协作效率,特订立本编码管理制度。

2. 编码规范2.1 命名规范1.变量、函数、类命名应具有描述性,遵从驼峰命名法,尽量避开使用缩写和简写。

2.常量命名应全部大写,使用下划线分隔单词。

3.文件名应具有描述性,与文件内容相符,使用小写字母,单词间用下划线分隔。

2.2 注释规范1.每个函数和类都应有简要的注释,描述重要功能、参数说明和返回值。

2.注释应清楚明白,避开使用含糊不清的词语和多而杂的表达方式。

3.注释应与代码同步更新,保持准确性。

2.3 格式规范1.使用恰当的缩进,加添代码可读性。

2.行宽度不应超出80个字符,超出部分应换行。

3.使用空格来分隔运算符、关键字等,以提高代码可读性。

3. 版本掌控3.1 Git使用规范1.每个任务对应一个Git分支,分支名称应包含任务编号和描述。

2.遵从提交小而频繁的原则,每个提交应只包含一个有心义的更改。

3.提交信息应包含简要的描述和任务编号。

3.2 代码审查1.每个代码更改都应由至少一名开发人员进行审查。

2.审查人员应认真检查代码质量、命名规范、注释是否符合要求。

3.审查人员应供应明确的反馈和建议,并在代码仓库中记录审查看法。

4. 编码流程管理4.1 任务调配1.项目经理依据项目需求和团队成员本领调配任务。

2.每个任务应明确指定负责人和截止日期。

4.2 开发流程1.负责人应依据任务需求进行编码工作。

2.完成编码后,应提交代码至代码仓库,并进行自测。

3.负责人应将测试通过的代码发起审核,等待审查人员审核。

4.3 修复和迭代1.若代码审查中存在问题,负责人应及时修复。

2.修复完成后,负责人应再次提交代码进行审核。

3.若需求更改或bug修复,请依据实际情况进行相应的调整,及时更新代码和文档。

5. 员工培训和考核5.1 培训计划1.新员工入职后,应布置系统的培训计划,包含编码规范、版本掌控和编码流程管理等内容。

软件研发的代码质量管理与规范

软件研发的代码质量管理与规范

软件研发的代码质量管理与规范代码质量在软件研发中起着至关重要的作用,它直接影响着软件的可维护性、可扩展性和稳定性。

为了保证软件开发的高质量,代码质量管理与规范成为研发团队必不可少的工作。

本文将从代码质量管理的重要性、代码规范的建立和执行、代码质量评估与监控等方面进行讨论。

## 一、代码质量管理的重要性代码质量管理在软件研发过程中具有重要的意义。

首先,良好的代码质量可以提高软件的可维护性。

在软件的生命周期中,随着需求的不断变化和项目的演进,对软件的维护是必然的。

高质量的代码可以使维护工作更加容易,减少了修改代码时引入新的错误的可能性。

其次,代码质量管理有助于提高软件的可扩展性。

随着软件的使用增加以及用户需求的变化,软件的功能可能需要不断扩展。

如果代码质量低下,扩展时容易引入冗余和混乱的代码,从而导致软件的复杂度增加,影响整个系统的可靠性。

此外,代码质量管理还有助于提高软件的稳定性。

良好的代码质量可以减少潜在的缺陷和漏洞,降低软件出现故障和崩溃的风险,提高软件的可靠性和稳定性。

综上所述,代码质量管理对于软件研发具有重要的意义,它直接关系到软件的可维护性、可扩展性和稳定性。

## 二、代码规范的建立和执行为了保证代码的质量,团队需要建立统一的代码规范,并严格执行。

代码规范是一套关于代码编写、命名规则和结构的准则,通过规范的代码可以统一团队成员之间的代码风格,提高代码的可读性和可维护性。

在建立代码规范时,可以参考一些通用的编码标准,如Google编码规范、Java编码规范等,并结合团队的实际情况进行适当的调整。

代码规范可以包括以下几个方面:### 1. 命名规范良好的命名规范能够使代码更加易读和易理解。

在命名时,应该选择具有描述性的名称,避免使用缩写和单个字母命名。

另外,可以约定一些命名规则,如类名使用大驼峰命名法、方法和变量名使用小驼峰命名法等。

### 2. 代码结构规范代码结构规范可以统一团队成员对于代码文件的组织方式。

软件开发编码规范

软件开发编码规范

软件安全开发编码规范1. 代码编写1) 开发人员应保证工程中不存在无用的资源(如代码、图片文件等)。

2) 代码中每个类名上的注释必须留下创建者和修改者的名字。

3) 每个需要import的类都应使用一行import声明,不得使用import xxx.*。

4) System.out.println()仅在调试时使用,正式代码里不应出现。

5) 开发人员编写代码时应遵循以下命名规则:●Package 名称应该都是由一组小写字母组成;●Class 名称中的每个单词的首字母必须大写;●Static Final 变量的名称全用大写,并且名称后加注释;●参数的名称必须和变量的命名规范一致;●使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名称。

6) 代码应该用unix的格式,而不是windows的。

7) exit 除了在main 中可以被调用外,其他的地方不应被调用。

8) 代码中应尽量使用interfaces,不要使用abstract类。

9) 在需要换行的情况下,尽量使用println 来代替在字符串中使用的"\n"。

10) 涉及HTML的文档,尽量使用XHTML1.0 transitional文件类型,其中所有HTML标签都应关闭。

11) 在HTML、JavaScript、XML代码中,缩进应为两个空格,不得使用Tab。

12) HTML标签的name和id属性的命名方式应与Java变量名相同。

13) 在需要经常创建开销较大的对象时,开发人员应考虑使用对象池。

14) 在进行log的获取时开发人员应尽量使用isXXXEnabled。

15) log的生成环境上尽量避免输出文件名和行号。

16) 产品中不要包含后门代码,隔离系统中的后门代码,确保其不能出现在产品中。

作为一种特殊的调试代码,后门访问代码是为了使开发者和测试工程师访问一部分终端用户不能访问的程序代码。

但是,如果后门代码被留到产品中,对攻击者来说,它就是一条不需要通过正常安全手段来攻陷系统的通路。

规范编程管理制度内容

规范编程管理制度内容

规范编程管理制度内容一、编程管理制度的内容1. 需求管理(1)明确需求:需求来源于用户或项目经理,需求应当明确、具体、可测量,需求的变更应当及时记录和评估。

(2)需求分析:需求应当经过分析和确认,包括功能点、界面设计、性能要求等。

(3)需求文档:需求应当进行详细的文档化,包括需求规格书、用例设计等,确保开发人员对需求的理解一致。

2. 设计管理(1)进行系统设计:根据需求进行系统设计,包括数据库设计、模块设计、接口设计等。

(2)设计评审:设计文档应当进行评审,确保设计的合理性和完整性。

(3)设计规范:设计应当符合公司的设计规范和标准,确保系统的可维护性和扩展性。

3. 编码管理(1)编码规范:制定编码规范,包括命名规范、注释规范、代码风格等,确保程序员编写出高质量的代码。

(2)代码审查:进行代码审查,发现和纠正代码中的问题,提高代码质量。

(3)版本控制:使用版本控制工具管理程序代码,确保代码的版本管理和追踪。

4. 测试管理(1)测试计划:制定测试计划,包括测试的覆盖范围、测试方法、测试工具等。

(2)自动化测试:进行自动化测试,提高测试效率和覆盖率。

(3)Bug管理:记录和跟踪Bug,及时解决Bug,确保软件的质量和稳定性。

5. 项目管理(1)项目计划:制定项目计划,包括项目阶段、任务分配、进度计划等。

(2)项目跟踪:跟踪项目进度和状态,及时发现和解决项目中的问题。

(3)风险管理:识别和评估项目的风险,制定风险应对计划,确保项目的顺利进行。

二、编程管理制度的要求1. 制度的全面性:编程管理制度应当覆盖软件开发的各个方面,确保软件开发的全面管理。

2. 制度的灵活性:编程管理制度应当具有一定的灵活性,能够根据项目的实际情况进行调整和优化。

3. 制度的可执行性:编程管理制度应当具有可执行性,能够被开发人员和项目经理接受和执行。

4. 制度的持续改进:编程管理制度应当具有持续改进的机制,能够根据实际情况进行不断的优化和完善。

软件开发中的代码规范与管理

软件开发中的代码规范与管理

软件开发中的代码规范与管理随着科技的进步和应用领域的拓展,软件的开发也变得越来越重要。

在软件开发的过程中,代码规范和管理是至关重要的一环。

良好的代码规范和管理不仅能够提高软件的可维护性,还能够提高开发效率、降低开发成本和风险。

一、代码规范的重要性代码规范是指制定出一套公认的代码编写规则和标准,以达到代码优秀、合理、易于维护的目的。

良好的代码规范可以促进代码的可读性和可维护性,方便代码的复用和管理。

同时,它还可以降低编写程序的复杂度、提高代码质量,减少代码出错的概率。

二、代码规范的关键点代码规范的重要性对于软件公司和团队来说都非常明显,而不同的规范体系,其关注点也会有所区别。

下面我们针对企业中常见的几个代码规范关键点进行介绍。

1. 命名规范命名规范是指用规则命名各种变量、函数、文件和类等。

命名的规范可以大大降低源代码的复杂度,方便他人的阅读和理解。

2. 注释规范注释规范是指为代码中的关键性部分添加注释,以方便开发人员理解代码的功能和实现方式,提高软件的可读性和可维护性。

3. 编码风格规范编码风格规范是指尽可能使用统一的代码格式和样式,以避免因为各种编写习惯造成的代码阅读困难和代码调试难度。

4. 文件管理规范文件管理规范是指针对源代码文件的保存和管理进行约束,以确保代码的可维护性和合理性。

例如,对文件的存储目录、文件命名、文件版本控制和备份进行规范化管理。

三、代码管理的重要性代码管理是指对代码的交付、版本控制、测试、构建和发布等方面的管理。

良好的代码管理可以提高代码的质量和稳定性,防止因为代码冲突和代码错误而造成的系统故障、数据丢失等问题。

1. 版本管理版本管理是指将代码进行版本化管理,该操作可现实真实运行环境的反馈,管理员会对该版本内的错行进行修复,让代码更加安全、稳定。

2. 团队协作在团队协作的实际当中,大多数团队是阶段式递进开发,不断进入到相应阶段,由主开发者对引导、协调团队协同完成所需的开发进展,这样,一个稳定而高效的项目源码框架就完成了。

代码开发规范

代码开发规范

代码开发规范1 前言1.1 为什么需要开发规范编码规范对于程序员而言尤为重要,有以下几个原因:* 一个软件的生命周期中,80%的花费在于维护* 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 * 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码* 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品1.2 开发规范的作用* 减少维护花费* 提高可读性* 加快工作交接* 减少名字增生* 降低缺陷引入的机会2 命名规范2.1 常量命名规范2.1.1 类型常量命名规范2.1.2 说明常量用于保存需要常驻内存中并且经常使用变化不多的数据,定义常量的名称的时候需要遵循望文知意的原则;2.1.3 规则1.全部为大写字母;2.中间以“_”连接;3.望文知意原则;2.1.4 备注代码中涉及到直接使用某个字符串或者其他基本类型的值时,建议定义成常量,避免多处直接使用同样的值作为参数。

2.1.5 举例• 如:定义一个常量表示最小屏幕宽度的常量,则可以定义一个int类型的常量,该常量可以命名为:“MIN_SCREEN_WIDTH“;• 其他举例:• 例如:static final int MIN_SCREEN_WIDTH = 4;( √)(×)• 例如:static final int min_screen_width = 4;(×)• 例如:static final int minScreenWidth = 4;• 例如:static final int WIDTH = 4;(×);(×)• 例如:static final int width = 4;(×)• 例如:static final int wd = 42.2 变量命名规范2.2.1 类型变量命名规范2.2.2 说明变量用于保存系统中的临时数据,变量命名时遵循望文知意,简单明了,驼峰标示等原则。

程序研发代码规范管理制度

程序研发代码规范管理制度

程序研发代码规范管理制度随着信息技术的快速发展,软件开发的重要性在各行业中日益凸显。

为了保证软件开发的质量和效率,建立一套科学的代码规范管理制度至关重要。

本文将介绍程序研发代码规范管理制度的重要性和具体实施细则。

一、代码规范管理制度的重要性1. 提高代码质量:代码规范可以明确编程规范和标准,避免无效或冗余的代码,提高代码的可读性和可维护性。

规范的代码结构和命名规则使得开发人员能够快速理解和修改代码,降低出错的概率。

2. 提升团队合作效率:代码规范可以促进团队合作,减少代码之间的差异性。

规范的代码风格使得团队成员能够更好地理解和交流,降低上下文切换的成本,提高代码的可理解性和协同开发的效率。

3. 提升项目可维护性:在代码规范的指引下,项目的代码结构更加清晰,模块之间的依赖关系更加明确。

这样,当需要修改或维护项目时,可以更快地定位问题和进行修复,大大提升项目的可维护性。

4. 提高代码安全性:代码规范可以规定一些安全编码的准则,避免潜在的安全隐患。

例如,规范要求对输入参数进行有效性检查,防止参数被恶意利用。

通过规范的代码编写方式,可以提高代码的鲁棒性,减少代码中的漏洞。

二、代码规范管理制度的实施细则1. 编码规范指南:制定统一的编码规范指南,包括命名规则、代码风格、注释规范等。

例如,规定变量名使用有意义的英文单词或简洁的缩写,避免使用拼音或没有意义的字符。

2. 代码审查机制:建立代码审查机制,确保代码符合规范。

代码审查可以由专门的代码评审小组进行,或者由项目负责人进行。

审查时要注意代码的可读性、可维护性和安全性。

3. 工具支持:引入一些静态代码分析工具或集成开发环境,帮助开发人员检测代码中的潜在问题。

这些工具可以自动检查代码中的违规行为,并给出相应的建议。

通过工具的支持,可以大大提高代码规范的执行效率和准确性。

4. 培训和培养规范意识:定期组织培训,提高开发人员的规范意识和代码质量意识。

可以邀请专业人士进行讲座,分享行业最佳实践和实际案例。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.程序版式1.1.对齐1.1.1.程序块要采用缩进风格编写,缩进的空格数为4个。

使用VC提供的Tab键对齐。

1.1.2.“{”和“}”应独占一行并且位于同一列,同时引用他们的语句对齐1.1.3.{}之内的代码块在“{”右边数格外左对齐例:正确错误1.2.空行1.2.1.每个声明之后,每个函数定义之后要加空行1.2.2.在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应加空行分隔1.2.3.变量声明和代码之间加空行1.2.4.函数返回语句用空行例:1.3.代码行1.3.1.一行代码只做一件事情,如只定义一个变量,或只写一条语句。

1.3.2.if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}例:示例:风格良好的代码行示例:风格不良的代码行1.4.空格1.4.1.关键字之后要留空格:const, virtual, inline, if, while, for1.4.2.函数名之后不要留空格1.4.3.“(”向后紧跟“,”,“、”,“.”,“;”,“)”向前紧跟1.4.4.“,”后要留空格,“”;之后如果不是一行的结束,后面要留空格1.4.5.赋值操作符,比较,算术,逻辑,第二元操作符前后加空格1.4.6.一元操作符!、~、++、--、—等前后不加空格1.4.7.像[]、“.”、—>等前后不加空格例:1.5.长行拆分1.5.1.代码行最长度宜控制在70到80个字符以内,代码行不宜过长1.5.2.长表达式拆分,应将操作符放在新行之首,拆分出新行要适当缩进,使排版整齐例:1.6.修饰的位置1.6.1.修饰符*和&应靠近变量名:char *name; int *x, y1.7.类的版式1.7.1.将public写前面,protect在其后,private写后面,以行为中心1.7.2.变量在函数声明之后1.7.3.逻辑相关的函数排列在一起例:class A{public:void Func1(void);void Func2(void);//空行int i, j;…protect:void Func3(void);void Func4(void);float x, y;…private:void Func5(void);void Func6(void);//空行string a, b;…}2.代码注释规则(范例文件)2.1.每个文件头2.1.1.阐述该文件包含的内容2.1.2.对include的文件要注释2.2.每个函数的头部2.2.1.注明函数名称、函数说明、输入参数和返回值2.3.每个类(即头文件)2.3.1.注明类的用途2.4.函数当中需要注释不易明折的地方2.4.1.算法2.4.2.设计思想2.4.3.独到的用处2.5.原则2.5.1.注释和代码一样要及时更新2.5.2.注释不是代码的重复2.5.3.全部使用“//”方式注释2.5.4.注释尽量不要单独占一行2.5.5.注释要简洁、明了2.5.6.边写代码边写注释,MFC自带的代码注释不用修改2.5.7.对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。

变量、常量、宏的注释应放在其上方相邻位置或右方。

2.5.8.将注释与其上面的代码用空行隔开3.命名规范3.1.共性规则3.1.1.不可用汉语拼音,用英文、用词应准确3.1.2.应用大小写混排方式,如:AddChild3.1.3.程序中不要出现仅靠大小写区分的相似的标识符3.1.4.程序中不要出现标识符完全相同的简单变量和全局变量3.1.5.变量名应当使用“名词”或“形容词+名词”,如:float fValue;float fOldVlaue;float fNewValue;3.1.6.函数名应使用动词或动词+名词,如:void GetValue();3.1.7.用正确的反义词组命名具有互斥定义的变量或相反动作的函数,如:int nMinValue;int nMaxValue;int nSetValue;int nGetValue;3.1.8.对于借来的代码,不改变其命名3.2.命名规则3.2.1.类名和函数名用大写字母开头的单词组合而成,如:class Node;class LeafNode;void SetValue();3.2.2.变量和参数用小写字母开头的单词组合而成,如:BOOF bflag,;int nDrawMode;float fHeight;string strTitle;char cSource;3.2.3.常量全用大写字母,用下划线分割单词DDD_SAF3.2.4.静态变量前加前缀s_,如:Static int s_initValue;3.2.5.如果不得已需要全局变量,全局变量前加前缀g_,如:int g_howManyPeople3.2.6.类的数据成员加前缀m_,如:void objet::Set Value(int width, int height){m_width=width;m_height=height}3.2.7.适当使用匈牙利命名法4.程序规范4.1.语句4.1.1.对运算符很多的情况下,应该使用括号区分运算的顺序例如:word = (high << 8) | lowif ((a | b) && (a & c))4.1.2.if 语句4.1.2.1.布尔变量与零值比较时,不可将布尔变量直接与TRUE、FALSE或者1、0进行比较假设布尔变量名字为flag,它与零值比较的标准if语句如下:if (flag) // 表示flag为真if (!flag) // 表示flag为假其它的用法都属于不良风格,例如:if (flag == TRUE)if (flag == 1 )if (flag == FALSE)if (flag == 0)4.1.2.2.整型变量与零值比较时,应当将整型变量用“==”或“!=”直接与0比较假设整型变量的名字为value,它与零值比较的标准if语句如下:if (value == 0)if (value != 0)不可模仿布尔变量的风格而写成if (value) // 会让人误解 value是布尔变量if (!value)4.1.2.3.浮点变量与零值比较时,不可将浮点变量用“==”或“!=”与任何数字比较千万要留意,无论是float还是double类型的变量,都有精度限制。

所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。

假设浮点变量的名字为x,应当将if (x == 0.0) // 隐含错误的比较转化为if ((x>=-EPSINON) && (x<=EPSINON))其中EPSINON是允许的误差(即精度)。

4.1.2.4.指针变量与零值比较时,应当将指针变量用“==”或“!=”与NULL比较指针变量的零值是“空”(记为NULL)。

尽管NULL的值与0相同,但是两者意义不同。

假设指针变量的名字为p,它与零值比较的标准if语句如下:if (p == NULL) // p与NULL显式比较,强调p是指针变量if (p != NULL)不要写成if (p == 0) // 容易让人误解p是整型变量if (p != 0)或者if (p) // 容易让人误解p是布尔变量if (!p)4.1.2.5.程序中有时会遇到if/else/return的组合,应该将如下不良风格的程序例如:if (condition)return x;return y;改写为if (condition){return x;}else{return y;}或者改写成更加简练的return (condition ? x : y);4.1.3. 循环语句4.1.3.1. 在多生循环中,如果有可能,应将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨越循环层的次数例:4.1.3.2.如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面 4.1.3.3. switch 语句的case 分支如果不要break ,要注释,同时要加default 语句 例:switch 语句的基本格式是:switch (variable) {case value1 : …break;case value2 : …break;…default : …break;}4.2.常量4.2.1.只使用const常量,不使用宏常量(自定义)4.2.2.需要对外公开的常量放在头文件(*.h)中,不需要对外公开的常量放在定义文件(*.cpp)的头部4.2.3.不能在类中初始化const常量,只能通过枚举常量来解决例:错误:class A{const int SIZE=100; (错误)int array[SIZE];}正确:class A{…enum { SIZE1 = 100, SIZE2 = 200}; // 枚举常量int array1[SIZE1];int array2[SIZE2];};4.3.函数4.3.1.参数规则4.3.1.1.参数书写要完整,不能只写类型,不写参数名,如果函数没有参数,用void填充例如:void SetValue(int width, int height); // 良好的风格void SetValue(int, int); // 不良的风格float GetValue(void); // 良好的风格float GetValue(); // 不良的风格4.3.1.2.如果参数是指针,且仅作输入用,则应在类型前加const,以免指针在函数体内被意外修改;一般地,应将目的参数放在前面,源参数放在后面例:void StrngCopy(char *strlDestintion, const har *StrSource)4.3.1.3.如果参数以值传递的方式传递对象,则宜改用“const &”方法传递,能提高效率4.3.1.4.避免函数有太多的参数,参数个数应尽量控制在5个以内4.3.1.5.尽量不要使用类型和数目不确定的参数例:int printf(const cha*format[, argument]…);4.3.1.6.对于内置类型参数要传值4.3.1.7.需要传指针不传引用的情形a)内部需要用NULL状态(引用没有NULL状态)b)若参数是被new出来的,是将在函数内被释放4.3.2.返回值规则4.3.2.1.函数的输出值结果用输出参数(一般为指针)获得,状态用return返回4.3.2.2.如果返回一个对象,一般用引用传递,但有的情况下必须用值传递例如:class String{…// 赋值函数String & operate=(const String &other);// 相加函数,如果没有friend修饰则只许有一个右侧参数friend String operate+( const String &s1, const String &s2);private:char *m_data;}String的赋值函数operate = 的实现如下:String & String::operate=(const String &other){if (this == &other){return *this;}delete m_data;m_data = new char[strlen(other.data)+1];strcpy(m_data, other.data);return *this; // 返回的是 *this的引用,无需拷贝过程}对于赋值函数,应当用“引用传递”的方式返回String对象。

相关文档
最新文档