- 浏览: 2070829 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
1.规范简介
本规范主要规定Delphi源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发记忆系统的维护。
2.一般格式规范
2.1缩进
缩进就是在当源程序的级改变时为增加可读性而露出的两个空格。缩进的规则为每一级缩进两个空格。不准许使用Tab。因为Tab会因为用户所作的设置不同而 产生不同的效果。当遇到begin 或进入判断、循环、异常处理、with语句、记录类型声明、类声明等的时侯增加一级, 当遇到end或退出判断、循 环、异常处理、with语句、记录类型声明、类声明等的时侯减少一级。例如:
if TmpInt <> 100 then
TmpInt := 100;
2.2 Begin..End
begin语句和end语句在源程序中要独占一行,例如:
for I := 0 to 10 do begin //不正确的用法
end;
for I := 0 to 10 do //正确的用法
begin
end;
2.3空格
在操作符及逻辑判断符号的两端添加空格,例如:I := I + 1;,a and b 等,但添加括号时不需要空格。例如:if ( a > b ) then //错误的用法
If (a > b) then //正确的用法
又例如:procedure Test(Param1: integer; Param3: string);
3. Object Pascal语法书写格式规范
3.1保留字
Object Pascal 语言的保留字或关键词应全部使用小写字母。
3.2过程和函数
3.2.1命名及格式
过程和函数的名称应全部使用有意义的单词组成,并且所有单词的第一个字母应该使用大写字母。例如:
procedure formatharddisk;//不正确的命名
procedure FormatHardDisk;//正确的命名
设置变量内容的过程和函数,应使用Set作为前缀,例如:
procedure SetUserName;
读取变量内容的过程和函数,应使用Get作为前缀,例如:
function GetUserName: string;
3.2.2 过程和函数的参数
3.2.2.1命名
统一类型的参数写在同一句中:
procedure Foo(Param1, Param2, Param3: Integer; Param4: string);
3.2.2.2命名
所有参数必须是有意义的;并且当参数名称和其它属性名称重了的时候,加一个前缀'A', 例如:
procedure SomeProc(AUserName: string; AUserAge: integer);
3.2.2.3命名冲突
当使用的两个unit中包括一个重名的函数或过程时, 那幺当你引用这一函数或过程时,将执行在use 子句中后声明的那个unit中的函数或过程。为了避免这种'uses-clause-dependent'需要在引用函数或过程时,写完整函数或过程的出处。例如:
SysUtils.FindClose(SR);
Windows.FindClose(Handle);
3.3 变量
3.3.1 变量命名及格式
首先所有变量必须起有意义的名字,使其它组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名,可使用几个英文单词,但每一单词的首字母必须大写。例如:
var
WriteFormat::string;
同时对于一些特定类型可采用一定的简写如下:
指针类型
P
纪录类型
Rec
数组类型
Arr
类
Class
循环控制变量通常使用单一的字符如:i, j, 或 k。 另外使用一个有意义的名字例如:UserIndex ,也是准许的。
3.3.2 局部变量
在过程中使用局部变量遵循所有其它变量的命名规则。
3.3.3 全局变量
尽量不使用全局变量,如必须使用全局变量则必须加前缀'g',同时应在变量名称中体现变量的类型。例如:
gprecUserCount: point;//名称为UserCount的全局变量,其类型为指向一结构的指针
但是在模块内部可以使用全局变量。所有模块内全局变量必须用'F'为前缀。如果几个模块之间需要进行资料交换,则需要通过声明属性的方法来实现。例如:
type
TFormOverdraftReturn = class(TForm)
private
{ Private declarations }
FuserName: string;
FuserCount: Integer;
Procedure SetUserName(Value: string);
Function GetUserName: string;
public
{ Public declarations }
property UserName: string read GetUserName write SetUserName;
property UserCount: Integer read FuserCount write FuserCount;
end;
3.4类型
3.4.1 大小写协议
保留字的类型名称必须全部小写。Win32 API 的类型通常全部大写,对于其它类型则首字母大写,其余字母小写,例如:
var
MyString: string; // reserved word
WindowHandle: HWND; // Win32 API type
I: Integer; // type identifier introduced in System unit
3.4.2 浮点类型
尽量不使用 Real 类型,他只是为了和旧的Pascal代码兼容,尽量使用Double 类型。Double 类型是对处理器和数据总线做过最优化的 并且是IEEE定义的标准数据结构。当数值超出Double的范围时,使用Extended 。但Extended不被Jave支持。但使用其它语言编写 的DLL时可能会使用Single 类型。
3.4.3 枚举类型
枚举类型的名字必须有意义并且类型的名字之前要加前缀'T'。枚举类型的内容的名字必须包含枚举类型名称的简写,例如:
TSongType = (stRock, stClassical, stCountry, stAlternative, stHeavyMetal, stRB);
3.4.4 数组类型
数组类型的名字必须有意义并且类型的名字之前要加前缀'T'。如果声明一个指向数组类型的指针必须在该类型的名字之前加前缀'P',例如:
type
PCycleArray = ^TCycleArray;
TCycleArray = array[1..100] of integer;
3.4.5记录类型
记录类型的名字必须有意义并且类型的名字之前要加前缀'T'。如果声明一个指向数组类型的指针必须在该类型的名字之前加前缀'P',例如:
type
PEmployee = ^TEmployee;
TEmployee = record
EmployeeName: string
EmployeeRate: Double;
end;
作者: 索引越界 2006-2-20 18:32 回复此发言
--------------------------------------------------------------------------------
2 回复:Delphi 源程序格式书写规范
3.5类
3.5.1 命名及格式
类的名字必须有意义并且类型的名字之前要加前缀'T'。例如:
type
TCustomer = class(TObject)
类实例的名字通常是去掉'T'的类的名字。例如:
var
Customer: TCustomer;
3.5.2 类中的变量
3.5.2.1命名及格式
类的名字必须有意义并且类型的名字之前要加前缀'F'。所有的变量必须是四有的。如果需要从外部访问此变量则需要声明一属性
3.5.3 方法
3.5.3.1命名及格式
同函数和过程的命名及格式。
3.5.3.2 属性访问方法
所有的属性访问方法必须出现在private 或 protected 中。属性访问方法的命名同函数和过程的命名另外读方法 (reader method)必须使用前缀'Get'. 写方法(writer method)必须使用前缀'Set'。写方法的参数必须命名为 'Value',其类型同所要写的属性相一致。例如:
TSomeClass = class(TObject)
private
FSomeField: Integer;
protected
function GetSomeField: Integer;
procedure SetSomeField( Value: Integer);
public
property SomeField: Integer read GetSomeField write SetSomeField;
end;
3.6属性
3.6.1 命名及格式
同其用操作的,出去前缀'F'的类的变量的名称相一致 。
3.7文件
3.7.1项目文件
3.7.1.1项目目录结构
程序主目录--Bin(应用程序所在路径)
-Db(本地数据库所在路径)
-Doc(文档所在路径)
-Hlp(帮助文件所在路径)
-Backup(备份路径)
-Tmp(临时文件路径)
3.7.1.2命名
项目文件必须使用一个有意义的名字。例如: Delphi中系统信息的项目文件被命名为 SysInfo.dpr。
3.7.2 Form 文件
3.7.2.1命名
同Form的名称相一致:例如:Form的名称为FormMain则Form文件的名称就为FormMain.frm。
3.7.3 Data Module 文件
3.7.3.1命名
data module文件的命名应该有意义,并且使用'DM'作为前缀。例如: 用户data module 被命名为'DMCustomers.dfm'。
3.7.4 Remote Data Module 文件
3.7.4.1 命名
remote data module文件的命名应该有意义,并且使用'RDM'作为前缀。例如:用户remote data module 被命名为'RDMCustomers.dfm'。
3.7.5 Unit文件
3.7.5.1普通 Unit
3.7.5.1.1 Unit文件命名
unit文件的命名应该有意义,并且使用'unit'作为前缀。例如: 通用unit 被命名为'UnitGeneral'。
3.7.5.2 Form Units
3.7.5.2.1命名
Form unit 文件的名字必须和Form的名称保持一致。例如:主窗体叫FormMain.pas 则Form Unit文件的名字为:UnitFormMain。
3.7.5.3 Data Module Units
3.7.5.3.1命名
Data Module unit 文件的名字必须和Data Module的名称保持一致。例如:主Data Module叫DMMain.pas 则Data Module Unit文件的名字为:UnitDMMain。
3.7.5.4 文件头
在所有文件的头部应写上此文件的用途,作者,日期及输入和输出。例如:
{
修改日期:
作者:
用途:
本模块结构组成:
}
3.7.6 Forms和Data Modules Forms
3.7.6.1 Form类
1. Form类命名标准
Forms类的命名应该有意义,并且使用'TForm'作为前缀。例如: About Form类的名字为:
TAboutForm = class(TForm)
主窗体的名字为
TMainForm = class(TForm)
2. Form类实例的命名标准
Form 的类实例的名字应同期掉'T'的Form类的名字相一致。例如:
Type Name
Instance Name
TaboutForm
AboutForm
TmainForm
MainForm
TCustomerEntryForm
CustomerEntryForm
3.7.6.2 Data Modules Form
3.7.6.2.1. Data Module Form 命名标准
Data Modules Forms类的命名应该有意义,并且使用'TDM'作为前缀。例如:
TDMCustomer = class(TDataModule)
TDMOrders = class(TDataModule)
3.7.6.2.2. Data Module 实例命名标准
Data Module Form 的类实例的名字应同期掉'T'的Data Module Form类的名字相一致。例如:
Type Name
作者: 索引越界 2006-2-20 18:33 回复此发言
--------------------------------------------------------------------------------
3 回复:Delphi 源程序格式书写规范
Instance Name
TCustomerDataModule
CustomerDataModule
TordersDataModule
OrdersDataModule
3.8控件
3.8.1 控件实例的命名
控件的实例应使用去掉'T'该控件类的名称作为前缀,例如:
输入用户姓名的Tedit的名字为:EditUserName。
3.8.2 控件的简写
控件的名称可使用以下简写,但所用简写于控件名称之间药添加'_':
3.8.2.1 Standard Tab
mm TMainMenu
pm TPopupMenu
mmi TMainMenuItem
pmi TPopupMenuItem
lbl TLabel
edt TEdit
mem TMemo
btn TButton
cb TCheckBox
rb TRadioButton
lb TListBox
cb TComboBox
scb TScrollBar
gb TGroupBox
rg TRadioGroup
pnl TPanel
cl TCommandList
3.8.2.2 Additional Tab
bbtn TBitBtn
sb TSpeedButton
me TMaskEdit
sg TStringGrid
dg TDrawGrid
img TImage
shp TShape
bvl TBevel
sbx TScrollBox
clb TCheckListbox
spl TSplitter
stx TStaticText
cht TChart
3.8.2.3 Win32 Tab
tbc TTabControl
pgc TPageControl
il TImageList
re TRichEdit
tbr TTrackBar
prb TProgressBar
ud TUpDown
hk THotKey
ani TAnimate
dtp TDateTimePicker
tv TTreeView
lv TListView
hdr THeaderControl
stb TStatusBar
tlb TToolBar
clb TCoolBar
3.8.2.4 System Tab
tm TTimer
pb TPaintBox
mp TMediaPlayer
olec TOleContainer
ddcc TDDEClientConv
ddci TDDEClientItem
ddsc TDDEServerConv
ddsi TDDEServerItem
3.8.2.5 Internet Tab
csk TClientSocket
ssk TServerSocket
wbd TWebDispatcher
pp TPageProducer
tp TQueryTableProducer
dstp TDataSetTableProducer
nmdt TNMDayTime
nec TNMEcho
nf TNMFinger
nftp TNMFtp
nhttp TNMHttp
nMsg TNMMsg
nmsg TNMMSGServ
nntp TNMNNTP
npop TNMPop3
nuup TNMUUProcessor
smtp TNMSMTP
nst TNMStrm
nsts TNMStrmServ
ntm TNMTime
nudp TNMUdp
psk TPowerSock
ngs TNMGeneralServer
html THtml
url TNMUrl
sml TSimpleMail
3.8.2.6 Data Access Tab
ds TDataSource
tbl TTable
qry TQuery
sp TStoredProc
db TDataBase
ssn TSession
bm TBatchMove
usql TUpdateSQL
3.8.2.7 Data Controls Tab
dbg TDBGrid
dbn TDBNavigator
dbt TDBText
dbe TDBEdit
dbm TDBMemo
dbi TDBImage
dblb TDBListBox
dbcb TDBComboBox
dbch TDBCheckBox
dbrg TDBRadioGroup
dbll TDBLookupListBox
dblc TDBLookupComboBox
dbre TDBRichEdit
dbcg TDBCtrlGrid
dbch TDBChart
3.8.2.8 Decision Cube Tab
dcb TDecisionCube
dcq TDecisionQuery
dcs TDecisionSource
dcp TDecisionPivot
dcg TDecisionGrid
dcgr TDecisionGraph
3.8.2.9 QReport Tab
qr TQuickReport
qrsd TQRSubDetail
qrb TQRBand
qrcb TQRChildBand
qrg TQRGroup
qrl TQRLabel
qrt TQRText
qre TQRExpr
qrs TQRSysData
qrm TQRMemo
qrrt TQRRichText
qrdr TQRDBRichText
qrsh TQRShape
qri TQRImage
qrdi TQRDBMImage
qrcr TQRCompositeReport
qrp TQRPreview
qrch TQRChart
3.8.2.10 Dialogs Tab
OpenDialog TOpenDialog
SaveDialog TSaveDialog
OpenPictureDialog TOpenPictureDialog
SavePictureDialog TSavePictureDialog
FontDialog TFontDialog
ColorDialog TColorDialog
PrintDialog TPrintDialog
PrinterSetupDialog TPrintSetupDialog
FindDialog TFindDialog
ReplaceDialog TReplaceDialog
3.8.2.11 Win31 Tab
dbll TDBLookupList
dblc TDBLookupCombo
ts TTabSet
ol TOutline
tnb TTabbedNoteBook
nb TNoteBook
hdr THeader
flb TFileListBox
dlb TDirectoryListBox
dcb TDriveComboBox
fcb TFilterComboBox
3.8.2.12 Samples Tab
gg TGauge
cg TColorGrid
spb TSpinButton
spe TSpinEdit
dol TDirectoryOutline
cal TCalendar
ibea TIBEventAlerter
3.8.2.13 ActiveX Tab
cfx TChartFX
vsp TVSSpell
f1b TF1Book
vtc TVTChart
grp TGraph
3.8.2.14 Midas Tab
prv TProvider
cds TClientDataSet
qcds TQueryClientDataSet
dcom TDCOMConnection
olee TOleEnterpriseConnection
sck TSocketConnection
rms TRemoteServer
mid TmidasConnection
4.修改规范
本规则所做的规定仅适用于已经纳入配置管理的程序。在这类修改中,要求保留修改前的内容、并标识出修改和新增的内容。并在文件头加入修改人、修改日期、修改说明等必要的信息。
4.1修改历史记录
对源文件进行经过批准的修改时,修改者应在程序文件头加入修改历史项。在以后的每一次修改时,修改者都必须在该项目中填写下列信息:
修改人
修改时间
修改原因
修改说明即如何修改
4.2新增代码行
新增代码行的前后应有注释行说明。
// 修改人,修改时间,修改说明
新增代码行
// 修改结束
4.3删除代码行
删除代码行的前后用注释行说明。
//修改人,修改时间,修改说明
//要删除的代码行(将要删除的语句进行注释)
//修改结束
4.4修改代码行
修改代码行以删除代码行后在新增代码行的方式进行。
//修改人,修改时间,修改说明
//修改前的代码行
//修改结束
//修改后的代码行
修改后的代码行
//修改结束
发表评论
-
form打开时的关闭代码
2011-10-25 20:29 1592摘自:http://topic.csdn.n ... -
TUpdateSQL更新问题 提示Update Failed
2011-08-29 20:26 1247摘自:http://topic.csdn.net/u/200 ... -
图解如何用Eurekalog跟踪程序错误
2011-08-12 07:28 951图解如何用Eurekalog跟踪程序错误 摘自:h ... -
VirtualBox 复制VDI 并能创建新的虚拟机
2011-07-21 11:14 2751摘自:http://www.nonabyte.net/how- ... -
截获所有异常 不报错
2011-07-12 16:52 1249摘自:http://media.ccidnet.c ... -
delphi exe程序以及DLL程序如何在模块内部获得各自的路径
2011-07-11 16:38 1312delphi Exe程序以及DLL程序如何在模块内部获得各自的 ... -
Delphi文本文件读写
2011-07-11 14:55 1270Delphi文本文件读写 (2008-10-31 1 ... -
Delphi自定义的消息的使用
2011-05-31 14:12 2323阅:已验证,可通过; 摘自:http://blog.1 ... -
怎么查看OutputDebugString输出的信息?debugview
2011-05-25 16:02 3842网上很多说用debugview查看,我自己写了一个程序,里面用 ... -
Delphi里查看该变量的内存值
2011-05-25 13:32 1137Delphi里查看该变量的内存值:Run==>Evalu ... -
注册表操作 写入autorun启动项,键值为本程序的全路径
2011-05-20 15:40 1835procedure TForm4.Button2Click ... -
报说包frx7和frxdb7都包含了某个单元的错误
2011-05-11 09:59 10441. 问题描述:在安装FastReport3的时候,安装到- ... -
Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
2011-05-03 14:34 1472摘自:http://blog.csdn.net/g ... -
WM_USER的说明 用户消息ID
2011-04-28 10:46 1699WM_USER 摘自:http://baike.bai ... -
ToolButton不能改变大小
2011-04-28 10:38 3471问题描述:ToolButton不能改变大小? 问 ... -
Delphi里TOOLBAR 上的button的caption为什么显示不出来啊
2011-04-20 17:55 1781Delphi里TOOLBAR 上的button的caption ... -
delphi指针简单入门
2011-04-11 21:42 1164摘自:http://topic.csdn.net/t/2003 ... -
Delphi中paramstr的用法 应用程序间传递数据
2011-04-01 14:33 2118Delphi中paramstr的用法 应用程序间传递数据 ... -
Delphi中的THashedStringList对象 --大数据量时
2011-04-01 13:54 5167Delphi中的THashedStringLi ... -
inherited Create(AOwner); 和直接写inherited有区别吗
2011-03-26 15:44 1330摘自:http://zhidao.baidu.com/que ...
相关推荐
首先,让我们聚焦于Delphi编程规范。Delphi是一种强大的面向对象的 Pascal 编程语言,以其高效和直观而闻名。遵循Delphi编程规范,可以确保代码的清晰性和效率。例如,应注重命名规则,使用有意义的变量名,遵循驼峰...
《Delphi编程规范》是指导开发者使用Delphi进行高效、可靠和可维护代码编写的重要文档。这份规范旨在提高代码质量,降低维护成本,确保团队之间的代码一致性,从而提升整体项目开发效率。 首先,规范通常会强调命名...
delphi编程规范.HTMdelphi编程规范.HTMdelphi编程规范.HTMdelphi编程规范.HTM
### Delphi编程规范知识点 #### 1. 前言 - **目的**: 提高代码的可读性和可维护性,使项目组成员能够形成统一的编程风格,方便代码之间的交流与理解,解决只能理解自己代码的问题,同时提高项目的可维护性和便于...
Delphi编程规范旨在提高代码质量和可维护性,是Delphi开发者遵循的一套准则。下面将详细阐述这些规范的各个方面。 1. **通用代码风格** - **一致性**:保持代码风格一致,包括缩进、空格、注释格式等,这有助于...
本文将详细介绍《Delphi编程规范》一书中提出的各种编程规范,旨在帮助Delphi开发团队提高代码质量,增强团队协作效率。 #### 二、项目文件组织 Delphi项目通常由多个文件组成,这些文件被精心组织起来以确保项目...
### Delphi编程规范知识点 #### 1. 前言 - **目的**: 提高代码的可读性和可维护性,使项目组成员能够形成统一的编程风格,便于代码之间的交流与理解,解决只能理解自己代码的问题,同时提高项目的可维护性和便于...
《Delphi编程代码规范》是一份关于如何编写高质量Delphi代码的指南,旨在提升软件开发的规范性和可读性。规范涵盖了多个方面,包括源代码的格式、OBJECT Pascal的使用规则以及文件组织结构等。 1. 一般的源代码格式...
这套Delphi编程规范旨在规范Delphi源程序的书写规则及注意事项,确保团队成员之间的代码风格统一,便于后续的开发与维护。 #### 单元的格式 ##### 基本要求 **2.1.1 缩进** - **规则**: 在Delphi编程中,为了...
本资料集包含了关于Java、VC(Visual C++)、VB(Visual Basic)和Delphi四种编程语言的编程规范,旨在帮助开发者遵循最佳实践,提高开发效率和团队协作能力。 首先,我们来看Java编程规范。Java以其跨平台的特性...
国内某软件公司文件:Delphi开发代码规范(修改),
2. **Delphi编程规范**: Delphi是一种基于Object Pascal的集成开发环境,用于创建高性能的Windows应用程序。其规范涉及变量声明、类型安全、事件处理、代码结构等。例如,推荐使用短小的、有意义的变量名,避免...
Delphi编程代码规范 Delphi编程代码规范是指 Delphi 语言编程时需要遵守的一些基本规则和惯例,以确保代码的可读性、可维护性和可扩展性。本文档将详细介绍 Delphi 编程代码规范的各个方面,并提供一些实用的编程...
### Delphi编程代码规范 #### 1. 一般的源代码格式规则 - **1.1 缩进** 缩进是指每级之间使用两个空格进行分隔。为了保持代码的一致性和可读性,开发人员应当避免在源代码中使用制表符。这是因为制表符的宽度会...
3. **最佳实践**:提供编程规范、设计模式和优化技巧,帮助开发者写出更高效、更易于维护的代码。 4. **问题解决方案**:汇集了常见的编程问题和解决方案,帮助开发者解决实际开发中遇到的难题。 5. **最新技术...
Delphi编程规范旨在提高代码质量和团队协作效率,遵循一定的规则可以使代码更易读、更易于维护。以下是对规范的详细解读: 一、序言 在编程规范的序言部分,通常会强调规范的重要性,指出其目标是提升代码的可读性...
Delphi程序员代码编写规范是一份指导程序员按照统一标准进行编程的文档,旨在提高代码的可读性、可维护性和团队协作效率。以下是对规范中各部分的详细解释: 一、序言 序言部分强调了这份规范的重要性,尽管它不是...
Delphi编程规范是提高代码可读性和团队协作效率的关键。本文档详细阐述了Delphi源程序在格式化和书写时应注意的要点,旨在确保公司软件开发人员的代码风格一致,方便代码理解和维护。 **1. 缩进规则** 缩进在代码中...