📄 delphi编码规范.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://dev.cq118.com/web/cn/research/softengine/dcs.htm -->
<HTML><HEAD><TITLE>Delphi编码规范</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="Delphi编码规范.files/dcs.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2800.1555" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId></HEAD>
<BODY>
<P
style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; BORDER-LEFT-COLOR: #0000ff; BORDER-BOTTOM-COLOR: #0000ff; PADDING-BOTTOM: 80px; BORDER-TOP-STYLE: groove; BORDER-TOP-COLOR: #0000ff; PADDING-TOP: 50px; BORDER-RIGHT-STYLE: groove; BORDER-LEFT-STYLE: groove; BORDER-RIGHT-COLOR: #0000ff; BORDER-BOTTOM-STYLE: groove"
align=center><B><FONT color=#000000 size=6>Delphi代码标准文档<BR></FONT><FONT
color=#000000 size=3>Revision 1.0.0.1</FONT><FONT color=#000000
size=6><BR></FONT></B><FONT color=#000000 size=2>编者:<A
href="mailto:teditor@mailroom.com">Riceball</A>(<A
href="mailto:teditor@mailroom.com">teditor@mailroom.com</A>)</FONT></P>
<P> 本文主要基于“<A href="http://www.xapware.com/ddg" target=_blank>Delphi
Development Guide</A>”一书的<A
href="http://www.xapware.com/ddg">代码标准部分</A>而来,编者参考其它的Delphi代码标准规范,以及结合现目前Delphi社区中流行的程序书写惯例,作了一些修改和裁剪,你也可以根据自己的需要进行裁剪和修改。如果你有什么建议,或是希望编者加上你认为遗漏的东西,欢迎Email至:<A
href="mailto:teditor@mailroom.com">teditor@mailroom.com</A></P>
<P>目录:</P>
<OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#前言">前言</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#源程序书写规范">源程序书写规范</A>
<OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#一般源代码格式规则">通用源代码书写规范</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#Object Pascal语句格式语句书写规范与用法">Object
Pascal语句书写规范与用法</A> </LI></OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#命名规范">命名规范</A>
<OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#过程(Procedure)与函数(Function)">过程(Procedure)与函数(Function)</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#变量(Variable)">变量(Variable)</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#类型(Type)">类型(Type)</A>
<OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#一般类型">一般类型</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#构造类型">构造类型</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#类类型(Class)">类类型(Class)</A>
<OL>
<LI>字段
<LI>方法
<LI>属性 </LI></OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#元件类型">元件类型</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#窗体类型">窗体与对话框类型</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#数据模块类型">数据模块类型</A>
</LI></OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#文件">文件</A>
<OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#项目文件">项目文件(.dpr)</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#窗体文件">窗体文件(.dfm)</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#数据模块文件">数据模块文件</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#远程数据模块文件">远程数据模块文件</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#单元文件">单元文件(.pas)</A>
<OL>
<LI>普通单元
<LI>窗体单元
<LI>通用单元
<LI>元件单元 </LI></OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#包文件(.dpk)命名规则">包文件(.dpk)</A>
</LI></OL></LI></OL>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#Delphi代码自动格式化工具">Delphi代码自动格式化工具</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#7">代码标准文档更新</A>
<LI><A
href="http://dev.cq118.com/web/cn/research/softengine/dcs.htm#参考">附录:参考文献</A>
</LI></OL>
<P> </P>
<HR align=center>
<H1><B>1.<A name=前言>前言</A></B></H1>
<P>
本文档主要是为Delphi开发人员提供一个源代码书写标准,以及程序和文件的命名标准,使他们在编程时有一致格式可遵循。这样,每个编程人员编写的代码能够被其他人理解。</P>
<P align=center>本文档还没能包括代码标准的每个细节,因此你可以在下面网址留意本文档的最新版本:<A
href="http://jediedit.heha.net/"><BR>http://jediedit.heha.net</A> </P>
<P> 本文档不包含用户界面标准。用户界面标准是独立于其他标准的,并且同样是重要的。</P>
<P> 如果你有什么建议,或是希望编者加上你认为遗漏的东西,欢迎Email至:<A
href="mailto:teditor@mailroom.com">teditor@mailroom.com</A></P>
<HR align=center>
<H1>2.<A name=源程序书写规范>源程序书写规范</A></H1>
<H2>2.1.<A name=通用源代码格式规则>通用源代码格式规则</A></H2>
<H3>1). 缩进</H3>
<P>
缩进就是每级间有两个空格。不要在源代码中放置制表符。这是因为,制表符的宽度随着不同的设置和代码管理实用程序(打印、文档及版本控制等)而不同。</P>
<P> 通过使用Tools|Environment 菜单,在Environment Options 对话框的General页上,不要选中Use
Tab Character 和Optional Fill 复选框,这样,制表符就不会被保存。</P>
<H3>2). 边距</H3>
<P>
边距设置为80个字符。源代码一般不会因写一个单词而超过边距,但本规则比较灵活。只要可能,长度超过一行的语句应当用逗号或运算符换行。换行后,应缩进两个字符。</P>
<H3>3). <B>begin</B>...<B>end </B>语句</H3>
<P><B>begin</B> 语句必须单独占一行。例如,下面第一行是错误的,而第二行正确:</P>
<BLOCKQUOTE>
<P><B>for</B> i:=0 <B>to</B> 10 <B>do begin</B> <I>// 错, begin 与f o r
在同一行</I></P>
<P><B>for</B> i:=0 <B>to</B> 10 <B>do</B> <I>// 对, begin
在另外一行中<BR></I><B>begin</B></P></BLOCKQUOTE>
<P>本规则的一个特殊情况是,当<B>begin</B> 为<B>else</B> 语句的一部分时,例如:</P>
<BLOCKQUOTE>
<P><B>if</B> some statement = <B>then<BR>begin</B><BR> . .
.<BR><B>end<BR>else begin</B><BR> Some Other
Statement;<BR><B>end</B>;</P></BLOCKQUOTE>
<P>注意:end 语句总单独一行。当begin 不为else 语句的一部分时,相应的end 语句与begin 语句的缩进量相同。</P>
<H3>4).注释</H3>
<P> 我们通常使用“{...}”类型的块注释,以前的“(*...*)”类型的块注释用于临时注释掉暂不使用的代码,从Delphi
2开始支持“//”行注释,如果决定不在支持Delphi 2.0以下的版本,可以使用“//”注释。</P>
<H2>2.2.<A name="Object Pascal语句格式语句书写规范与用法">Object Pascal语句格式语句书写规范与用法</A></H2>
<H3>1). 括号</H3>
<P> 在左括号与下一字符之间没有空格。同样,右括号与前一字符也没有空格。下面的例子演示了正确与不正确的空格。</P>
<BLOCKQUOTE>
<P>CallProc( Aparameter ); <FONT color=#0000ff><I>//
错!</I><BR></FONT>CallProc(Aparameter); <I><FONT color=#0000ff>//
正确!</FONT></I></P></BLOCKQUOTE>
<P> 不要在语句中包含多余的括号。在源代码中,括号只有在确实需要时才使用。下面的例子演示了正确与不正确用法:</P>
<BLOCKQUOTE>
<P><B>if</B> (I=42) <B>then</B> <FONT color=#0000ff><I>//
错,括号是多余的</I><BR></FONT><B>if</B> (I=42) <B>or</B> (J=42) <B>then</B> <I><FONT
color=#0000ff>// 正确,必须使用括号</FONT></I></P></BLOCKQUOTE>
<H3>2). 保留字和关键字</H3>
<P> Object Pascal 语言的保留字和关键字总是完全的小写。下面是Delphi 5保留字列表:</P>
<TABLE width="100%" border=1>
<TBODY>
<TR>
<TD>
<P>and</P></TD>
<TD>
<P>array</P></TD>
<TD>
<P>as</P></TD>
<TD>
<P>asm</P></TD></TR>
<TR>
<TD>
<P>begin</P></TD>
<TD>
<P>case</P></TD>
<TD>
<P>class</P></TD>
<TD>
<P>const</P></TD></TR>
<TR>
<TD>
<P>constructor</P></TD>
<TD>
<P>destructor</P></TD>
<TD>
<P>dispinterface</P></TD>
<TD>
<P>div</P></TD></TR>
<TR>
<TD>
<P>do</P></TD>
<TD>
<P>downto</P></TD>
<TD>
<P>else</P></TD>
<TD>
<P>end</P></TD></TR>
<TR>
<TD>
<P>except</P></TD>
<TD>
<P>exports</P></TD>
<TD>
<P>file</P></TD>
<TD>
<P>finalization</P></TD></TR>
<TR>
<TD>
<P>finally</P></TD>
<TD>
<P>for</P></TD>
<TD>
<P>function</P></TD>
<TD>
<P>goto</P></TD></TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -