Delphi命名规范
参考VCL的代码,结合笔者近两年来的一些经验,可以简单总结出一套Delphi下常用的命名规范。
- 类型定义(type)
- 包括class、record、枚举、procedure/function变量等所有写在type下的类型定义
- 用大写的T开头,例如TList(class)、TPoint(record)、TAlign(枚举)、TNotifyEvent(procedure变量)
- 常量(const)
- 自定义的简单类型常量(如Integer、Pointer等类型)建议用C开头
- 也有不少常量是需要根据单词意思推断的,如MaxDateTime(以Max开头,让人从意思上猜到是常量)
- 字符串常量用S开头(因为字符串常量与简单类型常量在编译时处理方式不同,详情可参考《Delphi源代码分析》2.2.4常量)
- 类的private成员变量、implementation下的全局变量
- 用F开头
- 类里绝对不要出现public成员变量,所有要公开的属性用property或者procedure、function代理出来
- interface下的全局变量
- interface下最好不要出现全局变量,可以替换为用interface里的function返回implementation下的全局变量值
- 如果一定要有的话,用G开头
- 局部变量
- 用L开头
- 函数(procedure或function)实参
- 用A开头
除了这些以外,笔者有一些自己常用的Delphi编程习惯,拿出来跟大家分享,欢迎拍砖。
- 用项目缩写做名字开头
- 由于Delphi里没有C++中的namespace或者Java里的package这些概念,所以名字冲突问题比较严重。为了尽量避免这种问 题,可以在一个项目的专有全局类型、常量前面加上项目名称的缩写。例如对于一个叫做MyProject的项目,其下的专属类可以叫做 TMPOneClass,常量可以叫做CMPOneNumber,等等。
- 用function代替全局变量
- 当我们需要访问剪切板时,会用到Clipboard这个对象,不知道大家有没有注意到,这其实是一个返回TClipboard对象的function,而且还用到了设计模式的Singleton模式。
- 由于Delphi里调用无参函数可以不写括号,所以很多时候可以把一个function当做一个变量使用,具体怎么用大家可以发散一下思维,Singleton只是其中一个例子。
- 用Pascal命名法
- 上面这些命名方式,总得来说是根据Pascal命名法演化而来的。
- Pascal命名法的基本思想就是一个名字里如果包含多个单词,每个单词的首字母都要大写,例如ThisIsAnExample。
- 不建议使用下划线命名法(如this_is_an_example),主要是因为Delphi的变量名自动补全工具不会自动过滤下划线,手动输入比较累。。。
- 由于Delphi中变量名对大小写不敏感(如A和a其实是同一个变量,这是跟C语系的语言最大的不同),所以绝对不要尝试用字母大小写区分变量,所有变量最好都用大写字母开头。
-------------------------------------------------
本博客中凡是未标明【转】字样的文章均为原创,作者保留版权,转载请务必保留原文地址。
博客地址:http://xuxn.cnblogs.com
如有问题请联系:xuxin1123@gmail.com
转载于:https://www.cnblogs.com/edisonfeng/archive/2012/05/15/2501778.html
Delphi命名规范相关推荐
- delphi控件切图界面闪烁_一份最详尽全面的UI界面切图命名规范
关于UI界面的切图命名规范,U妹觉得关键是在于团队能够有一个统一的规则,所以这里只介绍一种通用的命名规则,当然大家也可以根据自己的实际情况去制定,这里只提供一种方法与思路,仅供参考. 规范的命名方式可 ...
- Delphi编码规范
以下是在之前的公司与别人共同参与制定的Delphi开发规范(5年前了,那时用的还是Delphi7,部分规则可能有些过时,但不整理了,觉得有用的人,自己整理成适合自己的开发规范吧), 目 录 一. ...
- html语言书写注意事项,CSS命名规范参考及书写注意事项
CSS书写顺序 *{ /*显示属性*/ display position float clear cursor - /*盒模型*/ margin padding width height /*排版*/ ...
- [置顶] Objective-C ,ios,iphone开发基础:命名规范
命名规范:http://bukkake.iteye.com/blog/695492 点击打开链接 转载于:https://www.cnblogs.com/pangblog/p/3292256.htm ...
- Java项目命名规范
2019独角兽企业重金招聘Python工程师标准>>> 一.命名规范 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写 ...
- Java 命名规范(非常全)
欢迎关注方志朋的博客,回复"666"获面试宝典 在本文中,将从大到小,从外到内,总结Java编程中的命名规范.文中将会涉及到日常工作中常见的命名示例,如包命名,类命名,接口命名,方 ...
- SQL Server中的命名规范(个人使用)
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 表名前缀t 字段名前缀f ...
- Java 命名规范(非常全面)
来源:https://www.ramostear.com/blog/2020/03/20/2vxdaqjq.html 最近发现很多初级程序员写代码时很不规范,比如方法名 类名 等,如果遇到有代码洁癖的 ...
- 项目的命名规范,为以后的程序开发中养成良好的行为习惯
代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 一.包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 1.s ...
最新文章
- Matlab 读取文件夹里所有的文件
- Oracle中的within,Oracle函数 --聚合函数中的语法within group
- Yii基于角色的访问控制(非Rbac)
- 一文理解 K8s 容器网络虚拟化
- java——springmvc——注册中央调度器
- python写一个类_python3学习笔记--002--写一个类
- 面试官通过21天步数考察候选人诚意,结果拒了清华生收了三本生
- 在服务器应用虚拟化中发现价值
- 计算思维与创新创业 课程 获批
- 电子计算机的核心部件是哪三个,电子计算机三大核心部件 是什么
- 电感滤波电路的工作原理
- oracle 12C 创建用户失败 解决方案
- 基于Python 实现 Spirent TestCenter 自动化
- Java具有哪些语言特点
- fiddler证书生成ca证书命令及抓包配置
- asp.net c# 通过消息队列处理高并发请求(以抢小米手机为例)
- 采集工商信息的10个经典方法
- 【C语言】常见关键字
- 人工智能将改变教育的未来:让我们变得更聪明
- 【python】——爬虫03 数据提取[jsonpath模块、lxml模块]
热门文章
- 动态修改easyui datagrid 列宽度
- 生活只是需要一种积极的态度
- java 计算两个日期之间的天数_Java日期时间API系列22-----Jdk8Month月份和DayOfWeek星期的计算。...
- centos 7 安装 mantisbt-2.12.0 —— 安装LAMP环境、安装mantisbt-2.12.0
- 基于 Storyboard 多种方式的页面跳转、参数传递
- setParameter不支持传统的按位置查询方式
- 创建型设计模式(单例模式)
- 转: jdbc连接数据库需要注意和出错的地方
- Java中的冒泡排序(减少比较次数)
- 有了 Docker,用 JavaScript 框架开发的 Web 站点也能很好地支持网络爬虫的内容抓取...