编码规范与代码重用课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《编码规范与代码重用课件.pptx》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编码 规范 代码 重用 课件
- 资源描述:
-
1、提纲n 程序设计到软件开发n 编码规范n 代码重用程序设计到软件开发计算机程序:计算机程序是为了产生某种结果而直接或间接地用于计算机的一组语句或指令。计算机软件:计算机程序及其有关文档软件开发:是一种在有限的人力、财力和物力条件下,在特定的时间内成必须完成的工程项目。程序设计:指设计、编制、调试程序的方法和过程 。程序设计=数据结构+算法 软件开发=程序设计+项目管理 程序设计到软件开发p编码规范p规模估算和度量p计划管理p质量管理个体软件过程管理(PSP):如何制订计划,如何控制质量,如何与其他人相互协作等 团队软件过程管理(TSP):强调团队合作,重点解决如何克服协同工作中的问题,如何对待
2、压力、领导、协调、合作、参与、拖延、质量、多余功能和评价等问题高效的TSP团队应当是经过正确的组建,由技能型人才组成,受到合适的训练,并且实施有效领导的团队。TSP建议的小组协同工作准则“明确任务,明确对项目的控制”。TSP为项目目标、项目任务、角色目标、主要活动的开展提供的基本的准则和脚本 编码规范编码规范是指在软件开发过程中,由开发团队共同制定并遵循的代码编写规范。其主要目的是为了解决代码在团队内部的交流问题,涉及变量、程序结构、函数和文件的等多个方面 h =1.0/(double)n;sum=0.0;for(i=myid+1;i=n;i+=numprocs)x=h*(double)i-0
3、.5);sum+=f(x);for(s=0.0,h=1.0/(double)n,i=d+1;i=n;s+=f(h*(double)i-0.5),i+=n);p代码1p代码1编码规范指定原则n 基本原则:“清晰易懂”n 制定方法:开发团队共同制定并遵守的原则。Action 说明 示例 Create 创建一个新对象 MPI_Info_create Get 获得一个对象的属性 MPI_Get_count Set 设置对象属性 MPI_Info_set Delete 删除属性 MPI_Info_delete Is 此判断词是否具有特定的属性 MPI函数命名规则ANSI C编码规范n 代码结构与组织n
4、注释 n 标识符命名规范 n 代码风格与排版 ANSI对C程序设计标准与风格给出了相关的建议,不同软件开发组织结合自身情况,制定自己的编码规范。/*-*-Mode:C;c-basic-offset:4;-*-*/*Changes to this example*(C)2001 by Argonne National Laboratory.*See COPYRIGHT in top-level directory.*/*This example is taken from MPI-The complete reference,Vol 1,*pages 222-224.*Lines after t
5、he-CUT HERE-were added to make this into a complete *test program.*/#include mpi.h#include mpitest.h#include#include#define MAX_SIZE 64MPI_Datatype transpose_type(int m,int n,MPI_Datatype type);MPI_Datatype submatrix_type(int N,int m,int n,MPI_Datatype type);void Transpose(float*localA,float*localB,
6、int M,int N,MPI_Comm comm)/*transpose MxN matrix A that is block distributed on processes of comm onto block distributed matrix B */ANSI C编码规范:代码结构与组织源程序(*.c):建议采用如下的方式组织编写源程序 a)包含系统提供的头文件;b)包含自定义头文件;c)数据类型定义;d)常量定义;e)全局变量声明;f)函数定义/*系统头文件*/#include/*stdlib is needed for declaring malloc*/#include/*M
7、PI系统头文件*/#include mpi.h/*自定义头文件*/#include mechanism.h/*自定义数据类型*/struct studentint id;char name12;/*符号常量*/#define PI 3.1415926/*函数或全局变量声明*/int GlobalReadInteger();void Hello();void Ring();int main(int argc,char*argv)ANSI C编码规范:代码结构与组织头文件(*.h):建议采用如下的方式组织编写a)包含系统提供的头文件b)包含自定义头文件;c)数据类型定义;d)常量定义;e)全局变量
8、声明;f)外部函数声明。/*Definition of a _complex struct to be used by those who use cabs*and want type checking on their argument*/struct _complex double x,y;/*real and imaginary parts*/;/*Constant definitions for the exception type passed in the*_exception struct */#define _DOMAIN 1/*argument domain error*/#
9、define _SING 2 /*argument singularity*/#define _OVERFLOW 3/*overflow range error*/extern int abs(int);extern double acos(double);演示:MPI中部分代码ANSI C编码规范:代码结构与组织数据类型定义与声明:尽可能采用相应的typdef struct _iobuf char*_ptr;int _cnt;char*_base;int _flag;int _file;int _charbuf;int _bufsiz;char*_tmpfname;typedef struc
10、t _iobuf FILE;struct studentint id;char name12;声明变量的形式struct student stu1;struct student使用不是很方便,可以重定义。例如:typedef struct student Student;在使用时,直接使用Student声明变量即可,例如:Student stu1 ANSI C编码规范:代码结构与组织外部函数和外部变量:严格遵循ANSI的相关约定声明外部函数和外部变量。extern int foo;extern int abs(int);extern double acos(double);ANSI C编码规范
11、:代码结构与组织预编译处理:合理使用预编译处理指令,最大限度的提高系统的灵活性。预编译处理一般用于:符号常量、宏以及条件编译。Winnt.h#ifndef VOID#define VOID voidtypedef char CHAR;typedef short SHORT;typedef long LONG;#endif/UNICODE(Wide Character)types/#ifndef _MACtypedef wchar_t WCHAR;/wc,16-bit UNICODE character#else/some Macintosh compilers dont define wcha
展开阅读全文