[C++程序设计]如何编写高效的C++函数

原创 2007年10月04日 14:39:00

如何编写高效的C++函数

                                                                                  ——MoaKap的C++学习笔记

编写函数是C++编程中最基本的过程.但如何编写高效的函数,就有很多要注意的东西了.下面总结一下编写C++函数时的几条基本思想。

1、用重用的思想编写函数

      1) 函数中不输出

             要使函数具有高的重用性,就要禁止在函数中输出结果,这样可以避免调用函数时不必要的输出。同时,不同的开发环境其输出环境也不尽相同。

     2) 花时间处理当前可能不需要的输入

             在函数编写过程中,当前可能并不需要某些变量的值,但考虑到函数以后的可用性,应该尽量所有输入都写出来,这样有利于在不同环境中调用函数。

     3) 检查所有输入的合法性

             对函数的每个输入(参数),都要检查其合法性。保证函数能够正常返回。

2、为一个函数编写注释

        注释包括各个参数的意义、函数的功能描述等。

        可以在实现函数之前,先完成函数的注释,然后根据功能实现函数。

3、返回值问题

       在有多个分支的函数中,确保每一个分支都有返回值。

4、参数设计

       尽量为每一个参数设计明了的参数名,使程序阅读者能够通过参数名得知参数的意义。

5、减少调用函数带来的负作用

      如上述说的在函数中显示处理结果就是一个典型的负作用。

      尽量不修改外部变量。

6、过程

      无返回值的函数,也叫做 过程。

最后,在编写程序时要遵循:

      尽量少使用全局变量。全局变量也可以用来在不同函数之间传递变量,但若使用了过多的全局变量,则所写的代码将很难维护和扩展。经验法则是,每1000行代码不应该超过两个全局变量。

      使用参数和类来传递信息。若使用很多的变量,则程序就会变得很冗长。这时,可以设计使相关变量聚集在一起的类,这样可以大大减少程序的长度。

       函数功能应该尽量简单,要善于将复杂的功能分解成多个简单的函数。每个函数长度不超过一屏(50行以内)。

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

如何写出高效C++(实现)

26.尽可能延后变量定义式的出现时间 你不止应该延后变量的定义,直到非得使用该变量的前一刻为止,甚至应该尝试延后这份定义直到能够给它初值实参位置,好处是不仅能够避免构造(和析构)非必要对象,还可以避免...
  • hello_bravo_
  • hello_bravo_
  • 2016年08月15日 17:11
  • 548

C++ 高效编程之代码规范

本文将一些常用的代码注释、命名等规范总结下,良好的代码规范不仅让自己...
  • u011686361
  • u011686361
  • 2017年01月02日 16:55
  • 437

C++ 大规模程序设计 之 层次化

层次化的主要目的还是为了设计出高质量的系统 + 易于理解 + 易于维护 + 易于测试 + 易于重用 = 少加班 导致物理循环依赖的原因产生物理循环依赖的原因是多种多样的,书中列举了3种,但总结...
  • wangzhiyu1980
  • wangzhiyu1980
  • 2015年07月15日 09:10
  • 1376

如何写出高效C++(模板与泛型编程)

对Effective C++读了以后的总结(暑假没事干。。就是看书,从后往前的总结) 41。了解隐式接口和编译器多态 隐式接口:由一组有效表达式构成,表达式要求了相应的约束条件。 显式接口:则是在...
  • hello_bravo_
  • hello_bravo_
  • 2016年08月08日 17:14
  • 412

编写一个简单的C++程序

编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main。操作系统通过调用main来运行C++程序。下面是一个非常简单的main函数,它什么也不干...
  • broadview2006
  • broadview2006
  • 2013年09月16日 15:00
  • 5553

fac函数求n的阶乘--C++

fac函数求n的阶乘
  • u012221917
  • u012221917
  • 2013年12月12日 22:17
  • 3085

如何写出高效C++(设计与声明)

18.让接口容易被正确使用不易被误用 (1)许多客户端错误可以因为导入新类型而获得预防(explicit的作用是防止隐式转换) 例如Date(int month,int day,int year)...
  • hello_bravo_
  • hello_bravo_
  • 2016年08月13日 11:19
  • 263

C++---泛函程序设计与标准模板库(STL)基本思想

1.STL的基本概念 标准模板库(standard Template Library, STL)提供一些常用的数据结构和算法。STL更大的意义在于,它定义了一套概念体系,为泛型程序设计提供了逻辑基础。...
  • u013355826
  • u013355826
  • 2017年03月19日 10:25
  • 491

CODE:4737-C++程序设计(习题及答案)

3.1 OpenGL图元 3.2 OpenGL缓存数据
  • Jingmin1988
  • Jingmin1988
  • 2016年05月06日 17:50
  • 3132

c++程序设计心得体会一

C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现...
  • whChina
  • whChina
  • 2016年04月28日 14:26
  • 2687
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[C++程序设计]如何编写高效的C++函数
举报原因:
原因补充:

(最多只允许输入30个字)