TAF开发指南c开发规范

1.命名规范

1.1Namespace命名

每个业务都有一个不同的名称,即application名称,该名称也做为该application下面所有代码的namespace;因此,namespace一般为业务的名称,例如:

namespaceComm;//公共库代码的namespace

1.2class命名(接口名)

class的名字必须由一个或多个能表达该类的意思的单词或缩写组成,单词首字母大写,例如:classHelloWorld

1.3方法命名

函数的命名是以能表达函数的动作意义为原则的,一般是由动词打头,然后跟上表示动作对象的名词。小写字母开头,后面每个单词首字母大写。

另外,还有一些通用的函数命名规则。取数用get打头,然后跟上要取的对象的名字;设置用set打头,然后跟上要设的对象的名字;对象中响应消息进行动作的函数,以on打头,然后是相应的消息的名称;进行主动动作的函数,可以命名为do打头,然后是相应的动作名称;用has或者can来代替布尔型获取函数的is前缀,意义更加明确。例如:

getNumber();

setNumber();

onProcess();

doAddFile();

hasFile();

canPrint();

sendMessage();

1.4变量命名规则

l对于各种变量的定义,都有一个共同点,就是应该使用有实际意义的英文单词或英文单词缩写,不要使用简单的没有意义的字串,尽可能不使用阿拉伯数字,更切忌使用中文拼音的首字母。如这样的名称是不提倡的:Value1,Value2,Value3,Value4…。

l一般规则为:小写字母开头,后面每个单词的首字母大写,一般为名词。(如果只有一个单词,则小写)

l其他:对于一些比较重要的数,最好用常量替代,而不要直接写数,常量全部大写,多个单词之间以下划线分隔开。

lNUMBER_OF_GIRLFRIENDS

1.5Server、Servant、Object命名

lServer:Server名字根据业务功能命名,一般命名为:××Server,例如LogServer,TimerServer等;

lServant:提供具体服务的接口或实例,在同一个Server中的Servant不能重名;

lObject:采用Namespace.Server.Servant来命名,在整个系统中都是惟一的。例如:Comm.TimerServer.TimerObj,Comm.LogServer.LogServerObj等;

2.Jce文件目录规范

Jce文件是TAF服务的协议通信接口,因此非常重要,在管理上必须按照以下规范:

ljce文件原则上和相应的server放在一起;

l每个server在开发机上建立/home/tafjce/[namespace]/[server]子目录;

l所有jce文件需要更新到/home/tafjce下相应server的目录;

l使用其他server的jce文件时,需要到/home/tafjce中使用,不能copy到本目录下,见Makefile规范;

ljce的接口原则上只能增加,不能减少或修改;

lmakefile里面运行makerelease会自动完成相关操作,详见Makefile规范;

说明:

Makerelease会将jce文件copy到/home/tafjce/[namespace]/[server]目录下,同时生成调用jce2cpp生成.h.cpp,并生成一个[server].mk文件;其他调用该服务时,在makefile底部包含这个mk文件即可。

3.Makefile规范

使用TAF实现的服务,强烈建议使用该Makefile规范。

TAF框架提供了一个makefile.taf的基础Makefile,采用TAF编写的服务包含该Makefile会有效的帮助你对Makefile的维护;

TAF框架也提供了脚本(安装目录/demo/create_taf_server.sh)可以自动生成空的服务框架和Makefile;

3.1Makefile使用原则

l原则上一个目录只能是一个Server或者程序,即Makefile只能有一个Target;

l需要包含其他库时,根据依赖关系倒序include在Makefile文件底部;

l例如:

include/home/tafjce/Bind/BindServer.mk

include/usr/local/taf/makefile.taf

makefile.taf必须包含。

3.2Makefile模板解释

lAPP:程序的名字空间(即Application)

lTARGET:Server名称;

lCONFIG:配置文件名称,maketar时将该文件包含在tar包中;

lINCLUDE:其他需要包含的路径;

lLIB_DIR:其他需要包含的库路径;

lLIB:需要的库

Coin.AccountServer的makefile实例如下:

#-----------------------------------------------------------------------

APP:=Coin

TARGET:=AccountServer

CONFIG:=AccountServer.conf

INCLUDE+=-I/usr/local/mysql/include/mysql

LIB+=-L/usr/local/mysql/lib/mysql-lmysqlclient

#-----------------------------------------------------------------------

include/home/tafjce/Comm/DbServer/DbServer.mk

include/home/tafjce/Comm/BindServer/BindServer.mk

include/home/tafjce/Coin/CoinSafeServer/CoinSafeServer.mk

include/usr/local/taf/makefile.taf

关键的变量,通常不用,但是业务可以在这些变量后面添加自己的值:

lRELEASE_JCE:需要发布在/home/tafjce/目录下面的jce文件,如果需要把自己.h也发布到/home/tafjce则可以如下:

RELEASE_JCE+=xxx.h

lCONFIG:配置文件名称,其实后面可以增加自己需要的文件,这样在调用maketar时也会把该文件包含到tar包中;

其他变量请阅读makefile.taf。

3.3Makefile使用

lmakehelp:可以看到makefile所有使用功能。

lmaketar:生成发布文件

lmakerelease:copyice文件到/home/tafjce相应目录,并自动生成相关的mk文件

lmakeclean:清除

lmakecleanall:清除所有

lmake:编译









































北京有没有专治白癜风的医院
北京治疗白癜风手术价格



转载请注明:http://www.nydjfy.com/lsqy/1501.html

  • 上一篇文章:
  •   
  • 下一篇文章: