关于编程风格的讨论6

六、模块化规范:

为了提高软件的重用性,减少重复开发的工作量。同时也为了提高程序的可读性,方便程序的维护,必须加强软件的模块化工作。模块化应该遵循以下几个基本规范:

1、 个函数应该作到精而小,函数的代码应该控制在一个适度的规模,每个函数的代码一般不能超过150行,如果超过这个规模,应该进行模块化的工作。对于一些特殊的函数确实要超过150行,应该提交出来讨论,通过后,要求编写者更加详细的对函数注释,并写明函数超行的原因,以及设计思想等。

2、 某一功能,如果重复实现三遍以上,既应该考虑模块化,将其写成通用函数。并向开发人员发布。并要求将接口文档和实现的功能备案。

3、 每一个开发人员要尽可能的利用其他人的现成的模块,减少重复开发。

4、 对函数进行模块化时,要考虑函数的层次关系,特别是在增加新的功能模块时,对原来的函数代码要进行认真的调整,做到相同功能的不同函数没有重复代码,此要求的目的在于便于代码维护。举例如下:

现有如下函数:

//从szFileName文件中取 ......
long ...... cmGetSomething(const char * c_szFileName,......)
{
CFile * pFile;//用来保存打开文件的地址
pFile=new CFile(c_szFileName,CFile::modeRead);//用创建一个只读文件
if(pFile==NULL)
{
lResult=CM_POINT_IS_NULL;
goto END;
}
//从文件中读取......
......
//关闭文件
delete pFile;
END:
return lResult;
}

若现在需要增加如下接口的新函数:

long ...... cmReadSomething(CFile * pFile)
{
if(pFile==NULL)
{
lResult=CM_POINT_IS_NULL;
goto END;
}
//从文件中读取......
......
END:
return lResult;
}

时间: 2024-08-18 03:24:48

关于编程风格的讨论6的相关文章

关于编程风格的讨论1

**软件公司软件开发规范 (试行版) 在公司团队协作开发的情况下,编程时应该强调的一个重要方面是程序的易读性,在保证软件的速度等性能指标能满足用户需求的情况下,能让其他程序员容易读懂你的程序.一套鲜明的编程风格,可以让协作者.后继者和自己一目了然,在很短的时间内看清程序的结构,理解设计的思路.大大的提高代码的可读性.可重用性.程序健壮性.可移植性和可维护性. 制定本编程规范的目的是为了提高公司的软件开发效率及所开发的软件的可维护性,提高软件的质量.本规范由程序风格.命名规则.注释规范.程序健壮性

关于编程风格的讨论5

五.错误处理: 1.错误报告处理. 编程中要求考虑函数的各种执行情况,尽可能处理所有的流程情况.将函数分为两类: 一类为与屏幕的显示无关,(不与用户交换信息的函数) 一类为与屏幕的显示相关.(与用户交换信息的函数) 对于与屏幕显示无关的函数,函数通过返回值来报告错误. 对于与屏幕显示有关的函数,函数要负责向用户发出警告,并进行错误处理. 错误处理代码一般单独建立通用处理函数.如下: void cmDeal_With_Error(long ErrCode) { switch(ErrCode) {

关于编程风格的讨论4

四.程序健壮性: 1.函数的返回值规范: 对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置.(单入口单出口). 要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回. 例如编码定义如下: #define CM_POINT_IS_NULL CMMAKEHR(0X200) : : 建议函数实现如下: long 函数名(参数,--) { long lResult; //保持错误号 lResult=CM_OK; //如果参数有错误则返回错误号 if(参数==NULL)

关于编程风格的讨论3

三.注释规范: 1.函数头的注释 对于函数,应该从"功能","参数","返回值"."主要思路"."调用方法"."日期"六个方面用如下格式注释: //程序说明开始 //================================================================// // 功能: 从一个String 中删除另一个String. // 参数: strByDe

关于编程风格的讨论2

二.命名规则: 1.变量名的命名规则 ①.变量的命名规则要求用"匈牙利法则".即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写. 即: 变量名=变量类型+变量的英文意思(或缩写) 对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处. 见下表: bool(BOOL) 用b开头 bIsParent byte(BYTE) 用by开头 byFlag short(int) 用n开头 nStepCount lo

《C++编程风格(修订版)》——3.1 编程风格示例:堆栈

3.1 编程风格示例:堆栈 C++编程风格(修订版)在程序清单3.1的程序中定义了一个用于处理字符堆栈的CharStack类,以及用于处理整数堆栈的IntStack类.我们将对这两个类进行分析和评价,并且判断这些类中的抽象是不是正确的.接口是否起到了相应的作用,以及类之间的继承关系是不是合适的. 有些读者在看到CharStack和IntStack时的第一反应可能是,这些类应该使用参数化类型来编写,这也是ANSI(参见Ellis和Stroustrup的著作,第341页)建议的方法.在这里我们暂时先

Google Java 编程风格指南

前言 这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准.然而,这份文档主要侧重于我们所普遍遵循的规则, 对于那些不是明确强制要求的,我们尽量避免提供意见. 1.1 术语说明 在本文档中,除非另有说明: 术语class可表示一个普通类,枚举类,接口或是annotation类型(@interfac

Google Java编程风格指南

作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. 目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Googl

《C++编程风格(修订版)》——2.7 编程风格示例:第二种方法

2.7 编程风格示例:第二种方法 C++编程风格(修订版) 我们暂时先不去考虑去解决 string 类中的其他问题,而是将注意力转移到另一个不同的字符 串类.在这个类中,我们避免了大多数的上述问题.我们来分析程序清单 2.3 中的 SimpleString 类. 虽然 SimpleString 相对于 string 进行了改进,但仍然存在着一些缺陷. 程序清单 2.3 最初的 SimpleString 类 与 string 类一样,SimpleString 通过一个字符类型的指针 _string