symbian基本规范-命名约定

symbian基本规范-命名约定

ID:9674568

大小:50.00 KB

页数:2页

时间:2018-05-05

symbian基本规范-命名约定_第1页
symbian基本规范-命名约定_第2页
资源描述:

《symbian基本规范-命名约定》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Symbian基本规范:命名约定  概要  SymbianOS上的应用程序使用一组标准的约定来命名类(class)、结构(struct)、变量(variable)、函数(function)、宏(macros)、枚举(enumeration)和常量(constant)。本主题解释这些约定的意思。  类(class)的命名  大多数类的命名是通过加前缀字符C,T,R,M构成的。下面简单说一下它们表示的意思:  C:C前缀表示类从CBase派生并应该基于堆构造。  T:T前缀表示一个简单类,这种类不拥有任何额外的资源。  R:R前缀表示一个资源类,它包含其它位置拥有资源的句柄。  M:M前缀表示

2、一个接口类,它定义了接口但需要派生类实现。  有关前缀更详细的论述请参考类类型(Classtypes--DeveloperLibrary»SymbianOSGuide»Essentialidioms»Classtypes)。  那些由静态函数构成的类没有前缀字符。除了前缀字符,类名常常通过一个名词表示类的用途。  结构(struct)的命名  结构(struct)类型作为T类对待,因为它也不拥有任何额外的资源,它的前缀通常是T(但也有一些以S开头)。  变量的命名  成员变量的名字以i开头,例如:iMember,这样可以很容易检查某些清除相关的规则。参数

3、名以a开头,例如:aControl或aIndex。局部变量命名不需要前缀字符。全局变量应避免使用,使用时则第一个字母大写。  Symbian不使用匈牙利(Hungarian)或是其它在名字中包含类型信息的名字方法:那样的话看起来很复杂并且当系统有几百个类时不容易管理,因为它们总是不够准确:函数通常很短,这样可以方便的看到其中定义的变量的类型并且类浏览器(classbrop;emoryManagement»CleanupSupportOverview)。可能产生leave的函数名字以L结尾,它使得检查错误的过程更简单些。函数new(ELeave)也可能产生leave。最基本的产生

4、leave的函数是User::Leave()。任何函数中包含有上面的函数并且没有捕获异常,那么它就可能产生异常,在写代码时它的名字就应该以L结尾。如果一个函数调用另一个可能产生leave的函数,它的名字也应该以L结尾。  与leave机制关联的是清除栈(cleanupstack),它可以在leave产生时恢复在堆上分配的内存。把资源放到清除栈(cleanupstack)上的分配或构造函数以LC结尾,例如,经常把new,PushL(),ConstructL()按顺序封装到NewLC()函数里:  CS*s=CS::NewLC(p1,p2);  上面的操作是分配对象,初始化并把它放到清除栈(c

5、leanupstack)上,这个过程可能会产生leave(它总是包含PushL()的调用),所以这类的函数名总是包含有L,因此形成了以LC(C指清除栈(cleanupstack))结尾。  获得对象的所有权并销毁它的函数的名字以D结尾。UI框架中对话框的例子:  CEikDialog*dialog=new(ELeave)CBossSettingsDialog;  if(dialog->ExecuteLD(R_BOSS_SETTINGS_DIALOG))  {  //handlesuccessfulsettings  }  ExecuteLD()函数包含第二阶段构造(second-ph

6、aseconstruction),显示对话框然后销毁它的操作。  宏的命名  宏的名字全部用大写表示并用下划线分隔单词。  枚举的命名  枚举按下面的方法命名:  枚举当做简单类型,拥有T前缀;  枚举成员拥有E前缀;  类型和成员应该是有意义的,没有二义性的名字。——感谢阅读这篇文章,..,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。