C++(QT)代码注释约定

C++(QT)代码注释约定
C++(QT)代码注释约定

C++(QT)代码注释约定(针对doxygen)

Qt代码注释规范

一、注释的一般格式

1、多行注释

/*!

*

*

*/

2、行尾注释

///<

二、注释位置

1、文件注释

既有.h文件也有.cpp文件的,在.h文件中注释,注释放在文件内容的最前面,需要说明文件名、文件功能描述、文件版本和文件修改记录,文件修改记录包括文件修改时间、文件版本号、文件修改人和文件修改内容四部分。

/*!

* \file 文件名

* \brief 概述

*

*详细概述

*

*\author 作者

*\version 版本号

*\date 日期

*

* \b 修改记录:

* \li 日期

* - add setA()

* - changed getA()

* \li 日期

* - add setA()

* - changed getA() */

2、类注释

注释放在类之前

/*!

* \class 类名

* \brief 概述

*

* 详细概述

*/

3、函数注释

函数的注释全部在函数实现处,放在函数内容的前面,其完整的注释包括函数功能描叙、函数参数描述、函数返回值描述、函数错误码描述、函数的补充说明和函数修改记录等多个部分。

/*!

* \brief 功能概述

* \param 参数描述( 多个参数如何描述)

* \return 返回值描述

*/

4、变量注释

采用行后注释的方式,实现代码的整齐化

///<

三、注释中常用指令

\file 档案的批注说明。

\author 作者的信息

\brief 用于class 或function的简易说明

eg:

\brief 本函数负责打印错误信息串

\param 主要用于函数说明中,后面接参数的名字,然后再接关于该参数的说明

\return 描述该函数的返回值情况eg: \return 本函数返回执行结果,若成功则返回TRUE,否则返回FLASE

\retval 描述返回值类型eg: \retval NULL 空字符串。

\note 注解

\attention 注意

\warning 警告信息

\enum 引用了某个枚举,Doxygen会在该枚举处产生一个链接

eg:

\enum CTest::MyEnum

\var 引用了某个变量,Doxygen会在该枚举处产生一个链接

eg:

\var CTest::m_FileKey

\class 引用某个类,格式:\class [] [] eg: \class CTest "inc/class.h"

\exception 可能产生的异常描述eg: \exception 本函数执行可能会产生超出范围的异常

\todo 被此标记说明的代码会在Todo列表中出现

\bug 被此标记说明的代码会在Bug列表中出现

\test 被此标记说明的代码会在Test列表中出现

\sa 参考函数生成链接

\mainpage 主页面显示信息index.html

\ref 关联页面eg: \ref run How To Run

\page 页面信息,可与\ref对应,链接到此页面Eg: \page run *.....

四、其他

1、在一个doxygen注释块中使用\brief . 这个命令只对当前一个文字段有效, 所以详细描述应该与之间隔一个空行.

像这样:

/*!

* \brief 简要描述.

* 简要描述.

*

* 详细描述.

*/

2、每个类、以及该类的重要成员函数增加短注释和长注释。短注释应给出类或函数的基本信息的简要描述。而较长的注释,应该给出更长和更完整的描述。类的短注释和长注释,以及成员函数的简短描述,将放在头文件中。成员函数的长注释将出现在成员函数的实现出现的地方。

3、如果想对文件、结构体、联合体、类或者枚举的成员进行文档注释的话, 并且要在成员中间添加注释, 而这些注释往往都是在每个成员后面。可以使用在注释段中使用'<'标识int var; ///

这种注释方法只能在成员和参数中使用。它们不能用在描述文件、类、联合体、名字空间和枚举本身。

Qt代码风格:

1.代码中以固定方式将代码按模块划分

//--------------------------------------------------------------------------------------------------------------------- //include declare

//--------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------- //define declare

//--------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------- //class declare

//---------------------------------------------------------------------------------------------------------------------

2.代码中,如果if(a == 0)内容很长,在结尾处添加//end if(a == 0)

VB登录界面代码

VB登录界面代码 方法一: VB登录界面代码 Option Explicit Private Sub cmdCancel_Click() Dim intResult As Integer '请求用户确认是否真的退出系统登录 intResult = MsgBox("你选择了退出系统登录,退出将不能启动企业人事管理系统!" & vbcrlf_ & "是否真的退出?", vbYesNo, "登录验证") If intResult = vbYes Then End '根据用户选择结束应用程序 End Sub Private Sub CmdOK_Click() Dim UserName As String Dim userpassword As String Dim str As String Dim nTryCount As Integer Dim rs As New ADODB.Recordset Set rs = New ADODB.Recordset UserName = Trim(txtUserName.Text) userpassword = Trim(txtpassword.Text) str = "select * from 用户信息表where 用户名='" & UserName & "' and 用户密码= '" & userpassword & " '" rs.Open str, connectString, adOpenKeyset, 2 If rs.EOF Then '登录失败 MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误" txtUserName.Text = "" txtpassword.Text = "" txtUserName.SetFocus nTryCount = nTryCount + 1

C语言注释规范

C语言注释规范 1.注释原则 同一软件项目开发中,尽量保持代码注释规范和统一。 注释方便了代码的阅读和维护。 边写代码边注释,修改代码时要相应修改注释,保证注释和代码的一致性。 注释要简洁明确,不要出现形容词。 对于写的好的注释,我们将是第一个受益者。 大型软件开发中,通过别人的注释可以快速知道他人所写函数的功能,返回值,参数的使用。 2.文件头部的注释 示例: / * Program Assignment : 该文件的作用 * Author: 作者 * Date: 2013/8/6 14:34 * Description: 该文件的描述 *****/ /* * Source code in : 源代码的路径 * Function List: * initLinear 初始化线性表 * destoryLinear 释放线性表申请的空间 * isLinearEmpty 判断线性表是否为空 * isLinearFull 判断线性表是否为满 * getLinearElementValue 取得下标为index的元素的值 */ 注意:这个函数列表可以快速查询到我们想要了解的函数。 3.结构体,全局变量等的注释 示例: typedef POLYNOMIAL USER_TYPE; /* 新的数据类型的描述*/ int a; /* 全局变量的作用*/ /* 说明结构体的功能*/ typedef struct LINEAR { USER_TYPE *data; /* 每个成员的意义(作用) */ int maxRoom; /* 每个成员的意义(作用) */

int elementCount; /* 每个成员的意义(作用) */ }LINEAR; 4.函数的注释 在逻辑性较强的的地方加入注释,以便其他人的理解,在一定的程度上排除bug。 示例: /* * Function Name: getLinearElementIndex * Purpose: 取得元素的index值 * Params : * @LINEAR linear 线性表实例 * @USER_TYPE var 类型为USER_TYPE的实例 * @int (*)() cmp 提供接口,让用户定义具体比较函数 * Return: int 返回元素的index值 * Limitation: 如果返回-1,则代表不存在var的元素 */ int getLinearElementIndex(LINEAR linear, USER_TYPE var, int (*cmp)()) { /* * 如果逻辑太过复杂,这里写明该算法的过程和思路。 */ boolean found = FALSE; int i; for(i = 0; i < && !found; i++) if(cmp[i], var) == 0) found = TRUE; if(i >= i = NOT_FOUND; return i; }

MyEclipse设置Java代码注释模板

设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍: 文件(Files)注释标签: /** * @Title: ${file_name} * @Package ${package_name} * @Description: ${todo} * @author chenguang * @date ${date} ${time} * @version V1.0 */ 类型(Types)注释标签(类的注释): /** * 类功能说明 * 类修改者修改日期 * 修改说明 * Title: ${file_name} * Description:清大海辉科技开发平台 * Copyright: Copyright (c) 2006 * Company:北京清大海辉科技有限公司 * @author ${user} * @date ${date} ${time} * @version V1.0 */ 字段(Fields)注释标签: /** * @Fields ${field} : ${todo} */ 构造函数标签: /** * Title: * Description: * ${tags} */

方法(Constructor & Methods)标签: /** * 函数功能说明 * ${user} ${date} * 修改者名字修改日期 * 修改内容 * @param ${tags} * @return ${return_type} * @throws */ getter方法标签: /** * @return ${bare_field_name} */ setter方法标签: /** * @param ${param} ${bare_field_name} */ 加注释快捷键:选中你要加注释的方法或类,按Alt + shift + J。

登录界面代码

在https://www.360docs.net/doc/f310034441.html,平台下用C#和Access实现用户登录界面的窗体应用程序 一直就想加个technology的类别,但却迟迟未能动笔.一来不得不承认直到现在,我在技术上还依然只是一个没怎么入门的菜鸟,二来技术本身也不是我的兴趣所在.但不管怎样,既然我现在还要攻读计算机专业的硕士学位,那么技术,总还是要学的. 需要说明的是,对于那些高手来说,这里的东西想必都是小菜一碟,不值一提.我写在这里,只是给自己的总结吧.另外我所写的东西,很多也是参考网络和书籍的,其实真正属于我自己的东西也不多.由于四处查找,具体的出处很多也已记不清了,而且在开源环境下也很难说某些代码就是谁的原创,所以这里虽然没有说明,但很多东西也都是参考他人的,在此先要对那些给了我帮助的书籍作者,网上的发贴人和回贴人表示感谢. 去年研一刚开学时,自己的实践能力还几乎为零.因为我心里清楚,自己本科的确是混过来的,计算机科学与技术的学士学位,我其实是不配去拿的.九月十号进实验室后,开始学习项目组里需要用到的C#,但单纯学习语言也没什么明确的目的性.实验室里和我同一导师本校保研的同学和我说起,他们大四下学期刚进实验室时,师兄就让他们先试着写一个类似QQ登录那样的一个用户登录程序.我自己没有任何经验,想也就像他们一样,从这里起步吧,于是在看C#的同时我就考虑怎么样去实现这样一个程序了. 我知道对于过来人来说,这样的一个程序实在是再简单不过了,但对于当时刚开始的我,着实费尽了不少周折.虽然后来基本实现了这样一个程序,但在数据库上还是有些问题.因此虽然当时也曾想过贴个technology类别的日志,但终究还是一直拖了下来. 前段时间通过同学的介绍,帮沈阳日报的一个朋友做了一个会员管理的软件.软件本身也极其简单,基本没有太多的技术含量,但在开发的过程中自己通过各种渠道去查找资料,也在各方面都学到了很多.所以这段经历对我还是很有意义的.而且自己在计算机专业学了四年有半后终于可以自己做出来一些可以应用到实际中的东西,也终于凭借自己的专业能力获得了一点回报,无论回报是多是少.嗯,是要鼓励一下自己的.也激励自己再接再厉! 此后我可能会把在这一软件中所学到的东西陆续总结一下到这里.而这一软件开发的第一个模块也就是用户登录模块.也就是我最初在尝试做的东西.好,说了这么多无关的话,现在言归正传,来看登录模块的具体实现. 由于用户登录模块的实现关键的一点就是要将用户的信息存储在数据库中,并在用户登录时到数据库中对信息进行查找和核对,所以首先要先建立一个数据库.实际上对于初学者来说,数据库的相关操作也正是实现本登录模块的难点所在.这也是当时我刚开始写这段程序时困扰我并困扰了我很久的地方.在数据量不是很大的情况下,可以就用微软Office组件里的Access数据库,比较方便.这里在D盘用Access建立一个数据库命名为db.mdb,并在数据库中建一个表,命名为users ,在表中建两个字段,命名为userName和userPassword,分别存储用户名和密码.然后在表中插入几条数据,用于登录界面的测试.下面是登录模块的开发. 在Visual Studio2005的C#开发环境下,新建一个Windows 应用程序的项目,将第一个窗体命名为Login,即作为用户登录窗体.在窗体上添加相应控件,设计效果如下:

程序代码注释编写规范

程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ COPYRIGHT (C), MicTiVo International. Co., Ltd. FileName: Author:

Eclipse自动添加注释

Eclipse自动添加注释 我们在用Eclipse开发工具编写代码时,常常需要在类的头部加上一下注释,标明类的作者,创建时间等等。我们常用的做法是: 方式1:在新建类时勾选:Generate comments 如图1。 图1 创建类时指定生成注释 这种方式固然可以生成,但是只会是Eclipse默认的,仅有@author xxxx

方式2:快捷键生成 第二种就是我们生成类的时,也许忘了勾选。那么我们就会使用Eclipse提供的快捷键ctrl+alt+j 图2 快捷键添加注释 当然这种方式也需要开发者,现将鼠标定位类名行或者方法名行。然后生成对应的注释。那么如果我们想要自己定义自己的注释呢? 方式三:自动生成自定义注释 Eclipse最大好处就是很多东西都能让开发者自己来定义。下面说说如何自定义生成注释。 3.1首先自定义注释模板 打开:windows-->preference -->Java-->code style -->code templates --> code -->new java file 按照如上操作打开到相应对话框,如下图3

图3:注释模板对话框 当进入到这个对话框后,点击右侧“Edit”编辑按钮,进入到注释模板编辑对话框,如下图4:

图4 编辑自定义注释模板 在这个对话框中编辑你想要的注释模板,编辑完成后点击OK。 附:注释基本模板: 当点击OK退出模板编辑对话框后,勾选:automatically add comments for new methods and types,如图5

图5 设置自动添加注释 当然,你还可以设置很多注释,包括getter、setter等等的注释,都在这里,有兴趣的你都可以多试试。

俄罗斯方块C语言代码

【转载】88行代码实现俄罗斯方块游戏(含讲解) 来源:https://www.360docs.net/doc/f310034441.html,/p/8 在正式阅读本文之前,请你记得你应该用娱乐的心态来看, 本代码所使用到的技巧,在工作了的人眼里会觉得很纠结,很蛋疼,很不可理喻,很丑, 注意,是你蛋疼,不关我的事 通常,写一个俄罗斯方块,往往动不动就几百行,甚至上千行,而这里只有88行 正所谓头脑风暴,打破常规。这里将使用很多不平常的手段来减少代码 以下是Win-TC可以成功编译并执行的代码(代码保证单行长度不超过80字符,如果你是Win7系统,那请看后文): 程序代码: #include"graphics.h" #include #include int gcW = 20, gcColor[] = {DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA,MAGENTA, YELLOW}; struct tetris { int _pool[16][32], (*pool)[32], tmap[8][4][16]; int x, y, s, st, t; }gt; void trsInit() { int sp[8][4] = {{15,4369},{23,785,116,547},{71,275,113,802}, {39,305,114,562},{54,561},{99,306},{51,51},{-1}}; int *p, i, j, b; for (p = sp[0]; *p >= 0; ++p) if ( *p == 0 ) *p = p[-2]; gt.pool = >._pool[4]; for (j = 0; j < 7; ++j) for (i = 0; i < 4; ++i) for (b = 0; b < 16; ++b) gt.tmap[j+1][i][b] = (sp[j][i] & 1) * (j + 1), sp[j][i] >>= 1; memset(gt._pool, -1, sizeof(gt._pool));

登录界面代码(vs)

https://www.360docs.net/doc/f310034441.html,入门篇【项目实战】打造一个自己的相册(二)登录模块 2009年11月15日星期日 12:05 本文原创,转载请说明,本文地址: https://www.360docs.net/doc/f310034441.html,/44498/blog/item/59db5da17d24c28146106478.html 进行本次项目实战,需要有一定的C#基础知识,所以,在初期的几篇里面,我在文中尽可能的多贴图以进行示例,以后逐渐减少图片说明。 昨天已经介绍了流程和基本功能,今天简单的介绍一下用户登录模块的做法。 不要担心,非常简单。 打开Login.aspx页面,这是我们昨天设计的空白页面,用户登录,现在,我们来完善它的外观和功能。 简单的登录需要一个账号输入框,一个密码输入框,以及一个提交按钮;如图所示: 当然,喜欢用https://www.360docs.net/doc/f310034441.html,的标准控件库也行,喜欢用HTML组的控件也可以。 在输入密码的时候,都是以"*"号密文显示的,那么我们要调整一下密码框的属性,指定其类型是password类型。如图:

界面设计完毕,是个什么样子呢?大概的看一下吧,还算说得过去。 【如果要更好看,当然需要美工人员的帮助】 然后,该实现登录的功能了吧? 先谈谈我们的目标,也就是输入账号和密码以后,如果通过验证,则跳转到Default.aspx页面,提示登录成功,反之,则给予相应的提示。 账号和密码保存在哪里呢?当然是数据库里。 好,我们来创建一个数据库吧。【我这里使用的是SQL SERVER 2005,当然,你用其他的也行】 打开红圈选中的 SQL Server Management Studio ,其实也就等同于SQL SERVER

程序代码注释编写规范

程序代码注释编写规范 XXX份公司

为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************

用户登陆界面程序vb设计说明书

工程学院 课程设计说明书 课程名称: 计算机应用基础课程设计 课程代码: 题目: 用户登录界面程序设计 年级/专业/班: 学生姓名: 学号: 开始时间: 2011 年 4 月25 日 完成时间: 2011 年 5 月 8 日 课程设计成绩: 指导教师签名:年月日 目录 摘要 (2) 1 引言 (3)

2 设计方案 (4) 2.1程序功能设计 (4) 2.1.1系功能描述 (5) 2.1.2系结构分析 (5) 2.1.3系统流程分析 (5) 2.2程序界面和代码设计 (7) 2.2.1系统工程设计框架 (7) 2.2.2系统各界面设计及代码设计 (7) 3 结果分析 (11) 结论 (14) 致谢 (15) 参考文献 (16)

摘要 随着计算机的普及,计算机高级语言已经运用到生活中的各个方面,本次课程设计使用VB语言作为开发工具,进行了用户登录系统的程序设计,该程序能实现用户登录系统的模拟功能,进行用户的登录,提醒,注册,退出等操作,这些操作都能模拟实际生活中的登录情况,最后分析所开发软件系统的优点和不足。该运行界面清晰实用,操作方便。 关键词:用户登录模拟操作界面

1 引言 随着科学技术的发展,计算机已经应用到生活、工作的各个方面。VB一种可视化的、面向对象和采用事件驱动方式的高级程序设计语言,可用于开发Windows环境下的各类应用程序。本次课程设计主要内容就是使用VB编制简单、实用的小程序,以巩固我们所学的计算机VB语言知识,提高分析问题和解决问题的能力,锻炼我们独立动手的能力以及综合创新能力。 1.1 选题背景 通过一个学期对Visual Basic 高级语言程序设计的学习,我已经掌握了一些常用的控件的使用方法,对简单的程序设计的常用算法也有了一定的了解,还掌握了对文件输入与输出的一些基本操作。为了进一步加深理解、验证、巩固课堂教学内容,加深对可视化编程思想的理解,强化Visual Basic对程序流程控制、常用控件的属性、事件、方法的理解和使用;为了进一步提高编程能力、程序的调试能力,理论联系实际的能力;巩固所学的这些程序设计的方法,为了达到后续课程对实际编程计算能力的要求,特选定“用户登录界面程序设计”题目作为课程设计实践教学环节的题目,有助于培养综合运用所学知识解决实际问题的能力,可以充分发挥想象力和创新能力;有助于提高独立思考能力,自学能力 1.2任务与分析 任务:设计一用户的登录窗口界面,实现模拟用户登录系统时的各种情况 具体要求:遵循面向对象和结构化程序设计的编程思路,设计合理的界面,设置所需控件及其属性,编写相应的事件过程,并上机调试程序,在基本要求达到后,进行一定创新设计 预期功能:实现用户成功登录系统,当用户明不正确或者密码错误时,提醒用户重新输入或者注册,当三次登录失败时,强制性退出操作界面。 涉及的VB知识点:界面设计,command控件、text控件及其属性,随机的读出于追加。

C语言编写规范之注释

1、头文件包含Includes 2、私有类型定义 Private typedef 3、私有定义Private define 4、私有宏定义 Private macro 5、私有变量 Private variables 6、私有函数原型Private function prototypes 7、私有函数Private functions 8、私有函数前注释 /****************************************************************************** * * Function Name : FSMC_NOR_Init * Description : Configures the FSMC and GPIOs to interface with the NOR memory. * This function must be called before any write/read operation * on the NOR. * Input : None * Output : None * Return : None ******************************************************************************* / 9、程序块采用缩进风格编写,缩进空格为4。 10、相对独立的程序块之间、变量说明之后必须加空行; 11、较长的字符(>80字符)要分成多行书写,长表达式要在低优先级操作符划分新行,操作符放在新行之首,新行要恰当缩进,保持排版整齐; 12、循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首; 13、若函数或过程中的参数较长,则要进行适当的划分。 14、不允许把多个短语句写在一行中,即一行只写一条语句。 15、if、for、do、while、case、switch、default等语句自占一行,且if、for、 do、while等语句的执行语句部分无论多少都要加括号{}。 16、对齐只使用空格键,不使用TAB键; 17、 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case 语句下的情况处理语句也要遵从语句缩进要求 18、 程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一 列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以 及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 19、 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或

C.C++语言-俄罗斯方块源码

注意:本源代码包含头文件,VC6.0请自行下载库文件包,解决没有库文件的问题 环境:WINDOWS7 VC6.0 程序清单:库文件MYFILE.H /****************************************************************************** ********************* File Name : MYFILE.H Copyright : Module Name : CPU : Intel i7 RTOS : Creat Date : 2017/1/13 Author : Yang Abstract Description: C++、C实用函数 ******************************************************************************* *********************/ #ifndef _MYFILE_ #define _MYFILE_ #include #include void introduce() { printf("欢迎使用!MYFILE.H\n"); } /*********************************C++常用类******************************/ template //栈 class STACK { private: int top; T_STACK stackspace[100]; public: STACK() { top =-1; } void PUSH(T_STACK x) {

程序源代码注释规范

程序注释规范说明 程序注释规范应包括以下三方面: 一、文件头部注释 在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。 样本: /***************************************************** ** 作者:Liuchao ** 创始时间:2007-11-12 ** 修改人:Liuchao ** 修改时间:2007-11-12 ** 修改人:Liaochao ** 修改时间:2007-11-12 ** 描述: ** 主要用于产品信息的资料录入,… *****************************************************/ 二、函数、属性、类等注释 请使用///三斜线注释,这种注释是基于XML的,不仅能导出XML制作帮助文档,而且在各个函数、属性、类等的使用中,编辑环境会自动带出注释,方便你的开发。以protected,protected Internal,public声明的定义注释都建议以这样命名方法。 例如: ///

/// 用于从ERP系统中捞出产品信息的类 ///

class ProductTypeCollector { … } 三、逻辑点注释 在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。在注释中写明我们的逻辑思想,对照程序,判断程序是否符合我们的初衷,如果不是,则我们应该仔细思考耀修改的是注释还是程序了… 四、变量注释 我们在认为重要的变量后加以注释,说明变量的含义,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG.我们常用///三斜线注释。 /// 用于从ERP系统中捞出产品信息的类 class ProductTypeCollector { int STData;/// … }

软件总代码行数_软件注释率_分析

文档名称:软件总代码行数_软件注释 率分析 作者: 日期:

1. cncc 1.1 工具简介 度量工具名称cncc 网址https://www.360docs.net/doc/f310034441.html,/ 操作方式命令行 实现语言C++ 适用的操作系统Windows 可以度量的属性code-lines, empty-lines, comment-lines, total-lines 备注 1.2 工具优缺点总结 最新版本 cncc-1-3-1,在sourceforge中2004年已经停止更新。最大的优点是源代码全部存于一个cpp文件,便于集成。 缺点: 1.代码基本没有注释。 2.下载的代码编译有9个错误。 3.费了2个多小时也没搞定。 1.3 使用例程 无。 2. CodeCount 2.1 工具简介 度量工具名称CodeCount 网址https://www.360docs.net/doc/f310034441.html,/downloads421/sourcecode/windows

/control/detail1783204.html 操作方式GUI 实现语言C++ 适用的操作系统Windows 可以度量的属性total-lines, empty-lines, comment-lines, code-lines, 备注 2.2 工具优缺点总结 优点: 工具比较精简,统计源文件总行数、代码行数、空白行数、注释行数,代码有一定的注释。 缺点: 下载的源码是vc7工程,由于机器并没有vc7,利用工具进行工程类型转换,将vc7的工程转换为vc6的工作,编译出错。 核心代码如下: BOOL bCommentSet = FALSE; //注释行统计标识有"/*"时TRUE, "*/"时FALSE BOOL bQuatoSet = FALSE; //字符串统计标识首次一行有奇数个"时TRUE, 下一行有奇数个"时FALSE int nLength = (int)file.GetLength(); CString bufRead; int nLineCommentBegin = 0; while(file.ReadString(bufRead)!=FALSE) { BOOL bStatedComment = FALSE;//本行作为注释行是否已统计过 BOOL bStatedCode = FALSE; //本行作为代码行是否已统计过 nLines++; bufRead.TrimLeft(); //先将文件头的空格或制表符去掉 if(bufRead.GetLength()==0) //为空白行

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

俄罗斯方块C语言程序设计报告

C语言课程设计报告 俄罗斯方块程序设计报告 一、问题描述 俄罗斯方块(Tetris,俄文:Тетрис)是一款电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。 在本次设计中,要求支持键盘操作和若干种不同类型方块的旋转变换,并且界面上显示下一个方块的提示以及当前的玩家的得分,随着游戏的进行,等级越高,游戏难度越大,即方块的下落速度越快,相应的等级,等级越高,为玩家提供了不同的选择。 二、功能分析 I、俄罗斯方块游戏需要解决的问题包括: ⑴、随机产生方块并自动下移 ⑵、用Esc键退出游戏 ⑶、用键变体 ⑷、用键和键左右移动方块 ⑸、用空格键使游戏暂停

⑹、能正确判断满行并消行、计分、定级别 ⑺、设定游戏为不同级别,级别越高难度越大 II、俄罗斯方块游戏需要设计的功能函数包括: ⑴、声明俄罗斯方块的结构体 ⑵、函数原型声明 ⑶、制作游戏窗口 ⑷、制作俄罗斯方块 ⑸、判断是否可动 ⑹、随机产生俄罗斯方块类型的序号 ⑺、打印俄罗斯方块 ⑻、清除俄罗斯方块的痕迹 ⑼、判断是否满行并删除满行的俄罗斯方块 三、程序设计 1、程序总体结构设计 (1)、游戏方块预览功能。在游戏过程中,游戏界面右侧会有预览区。由于在此游戏中存在多种不同的游戏方块,所以在游戏方块预览区域中显示随机生成的游戏方块有利于游戏玩家控制游戏的策略。 (2)、游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、自由下落、旋转功能,以及行满消除行的功能。 (3)、游戏数据显示功能。在游戏玩家进行游戏过程中,需要按照一定的游戏规则给玩家计算游戏分数。例如,消除一行加100分,游戏分数达到一定数量

Android登录界面(步骤详细)

Android简单登录界面 设计一个登陆界面: 允许用户输入用户名,密码; 用户点击“Login”之后,如果用户名为admin, 密码为123则显示“登陆成功”;如果用户名密码其中之一不正确,红色字体显示“登陆失败!” 首先我们来建立一个新的项目:

图标那一步就随便选吧,下一步: 这一步与上次有点不同,这次我们不要ADT 帮我们创建任何的Activity,我们只需要一个空的项目。 点击Finish后,我们会发现,项目文件视图下,与上次的不一样,src, res/layout 是空的,这次需要我们自己去添加了。 首先来明确一下我们现在的目标: 建立一个包含登录框的界面,并将它显示在我们的手机(模拟器)上。 建立一个界面的主要步骤是什么呢?主要有以下几步: ?在res/layout下创建布局文件; ?在src下创建Activity子类,并将布局文件与这个Activity联系起来。 ?在AndroidManifest.xml程序配置文件中,添加Activity的声明。 我们先来 1. 创建布局文件: 在Eclipse项目文件中选中layout 文件夹,在工具栏里点击下面图标 在弹出的窗口,填上这个xml布局文件的文件名,Root Element 根节点就选择Linearlayout 即可

点击下一步,这一步是选择更多配置属性的,暂且不用理会,直接点击Finish。 我们发现,在res/layout 下面多了一个login.xml文件,同时Android 的Layout 编辑器也把它打开了。 切换到“source”代码视图,今天我们不用“所见即所得”的傻瓜拖拽方式。 我们看到xml代码是这样的: 根节点是LinearLayout,即线性布局,所谓线性布局,有点像J2SE上的流式布局,就是其中的UI元素,会按水平或者垂直方向顺序地铺开。 LinearLayout有个xml属性:android:orientation,它有两个可选值:vertical和horizontal,指明该线性布局中的元素,是以垂直(vertical)还是水平(horizontal)方向排列。

俄罗斯方块源代码

1. using System; using System.Collections.Generic; using System.Text; using System.Drawing;//add namespace俄罗斯方块 { public class Block { private short width; private short height; private short top; private short left; private int ID; //方块部件的ID public int[,] shape;//存储方块部件的形状,0为空白,1为有砖块 public Block()//构造函数 { Random randomGenerator = new Random(); int randomBlock = randomGenerator.Next(1, 6);//产生1—4的数 this.ID = randomBlock; switch (this.ID) { case 1: //横条形 this.Width = 4; this.Height = 1; this.Top = 0; this.Left = 3; shape = new int[this.Width, this.Height]; shape[0, 0] = 1; shape[1, 0] = 1; shape[2, 0] = 1; shape[3, 0] = 1; break; case 2://正方形 this.Width = 2; this.Height = 2; this.Top = 0; this.Left = 4; // Creates the new shape for this block. shape = new int[this.Width, this.Height]; shape[0, 0] = 1; shape[0, 1] = 1; shape[1, 0] = 1;shape[1, 1] = 1; break; case 3://T形 this.Width = 3; this.Height = 3; this.Top = 0; this.Left = 4; // Creates the new shape for this block. shape = new int[this.Width, this.Height]; shape[0, 0] = 1; shape[1, 0] = 1; shape[2, 0] = 1; shape[1, 1] = 1; shape[1, 2] = 1; break; case 4://L形 this.Width = 2; this.Height = 3; this.Top = 0; this.Left = 4;

相关文档
最新文档