You are on page 1of 4

Sorphone 编程 风格

1、注释风 格

① 段注释

定义: 从一新的空白行开始的一行或者几行形成的一段注释我把它称为段注释。
行为分三种情况:
第一种 :无特别标注的一般段注释。
表示的 是:对自此段注释以下,至下一个段注释以上的所有代码功能的描述。
功能作 用:对小段代码功能的注释说明。
实例分 析:

void CDAODemoView::OnStuffModify() 一般段注 释


{

// 数据库有效性检查
if(!this->m_pDatabase->IsOpen()) return;
if(!this->m_pRecordset ) return;
if(this->m_pRecordset->IsOpen()) this->m_pRecordset->Close();

第二种 :有特别的标注,像“第一步”、“第一种”、“1、”、“2、”、“方法一”、“
方法二”等,这种注释我把它称之为步注释。
表示 的是 :对自此种特别段注释以下,至下一个此种特别段注释以上的所有代码功能
的描述。
功能作 用:对大段代码的注释,里面可以嵌套一般段注释。
实例分 析:
void CDAODemoView::OnStuffModify()
{

// 数据库有效性检查
if(!this->m_pDatabase->IsOpen()) return;
if(!this->m_pRecordset ) return;
if(this->m_pRecordset->IsOpen()) this->m_pRecordset->Close();
//1 、取得用户选择的第一项,如果用户同时选择了多项,则提醒用户只修
改第一项 步注释
CListCtrl& ctlList=this->GetListCtrl();
UINT uSelectedCount=ctlList.GetSelectedCount();
if(uSelectedCount==0) return;
if(uSelectedCount>1) this->MessageBox(" 您选择了多项,但程序只修改第一
个选择项。"," 提醒 ",MB_ICONWARNING);

// 得到当前选中项中第一项的 " 物品 ID" 的值


int nItem=-1;
nItem=ctlList.GetNextItem(nItem,LVNI_SELECTED);
CString strID;
strID=ctlList.GetItemText(nItem,0);
//2 、查询数据库,用主键" 物品 ID" 做为条件
this->m_strTableName=_T(" 物品 ");
步注释

第三 种: 在此段注释以下,紧接着就是函数定义体的注释,这种注释我把它称之为函
数注释。
表示的 是:对此下面函数功能的描述。
功能 作用 :除了对整个函数注释以外还使自动完成列表后面显示此函数功能描述,非
常实用。
实例分 析:

// 修改物品记录
void CDAODemoView::OnStuffModify() 函数注释
{

// 数据库有效性检查
if(!this->m_pDatabase->IsOpen()) return;
if(!this->m_pRecordset ) return;
if(this->m_pRecordset->IsOpen()) this->m_pRecordset->Close();
//1 、取得用户选择的第一项,如果用户同时选择了多项,则提醒用户只修改第
一项
CListCtrl& ctlList=this->GetListCtrl();
UINT uSelectedCount=ctlList.GetSelectedCount();
② 行注释

定  义: 在一行代码的结尾开始描述的注释,这种注释我把它称之为行注释。
表示的 是: 对这一行代码的功能描述。
功能作 用: 注释此行代码。
实例分 析:

while(!m_pRecordset->IsEOF())
{ 行注释
COleVariant var;
var=m_pRecordset->GetFieldValue(0);// 取 " 房间 ID"
StuffDlg.m_uaRoom.Add(var.lVal); 行注释
var=m_pRecordset->GetFieldValue(1);// 取 " 房间名称 "
StuffDlg.m_saRoom.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();

③ 范围注 释

定  义: 在代码中用到一对大括号时,在后大括号后面用“注释符”+“ end-”+“关键


字”,这些关键字如,if、while、
for、
try、
catch、
switch 等关键字或函数名,描述的的注释,这
种注释我把它称之为范围注释。
表示的 是: 对关键字控制范围的结束。
功能作 用: 对程序员具有提醒作用,防止发生结构混乱。
实例分 析:

while(!m_pRecordset->IsEOF())
{
COleVariant var;
var=m_pRecordset->GetFieldValue(0);// 取 " 房间 ID"
StuffDlg.m_uaRoom.Add(var.lVal);
var=m_pRecordset->GetFieldValue(1);// 取 " 房间名称 "
StuffDlg.m_saRoom.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}//end-while
范围注释
2、命名风 格

尽量 使用匈 牙利命 名法

3、代 码风格

1,在参数表中“,”后面加一个空格,以使参数表更加清晰。
2,显式使用 this 指针,能够使代码增加可读性,易于维护,可以清楚的知道正在调用的是
哪个对象的成员,并且在 this 指针后面还会自动出现自动完成列表,这样不易出现书写错
误。

暂时 能够想 到的就 这么多 ,就先 写到这 里吧。

You might also like