?? 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 + -