帕斯卡命名法

科技工作者之家 2020-11-17

帕斯卡命名法指当变量名和函式名称是由二个或二个以上单字连结在一起,而构成的唯一识别字时,用以增加变量和函式的可读性。

pascal的历史早先的努力20世纪60年代计算机语言设计的大部分历史都追溯到ALGOL 60语言的历史。 ALGOL是在20世纪50年代开发的,其明确目标是能够清晰地描述算法。它包含了许多结构化编程功能,仍在语言中很常见。

在推出后不久,1962年,Wirth开始与Helmut Weber一起研究Euler编程语言。 Euler基于ALGOL的语法和许多概念,但不是衍生物。它的主要目标是添加动态列表和类型,允许它在类似于Lisp的角色中使用。该语言于1965年出版。

ALGOL已经发现了许多问题,特别是缺乏标准化的字符串系统。负责维护语言的小组已经开始使用ALGOL X流程来确定改进,并要求提交。 Wirth和Tony Hoare提交了一组保守的修改来添加字符串并清理一些语法。这些被认为太小而不值得用作新标准的ALGOL,因此Wirth为该语言编写了一个编译器,后来被称为ALGOL W.

ALGOL X将继续选择一种更为复杂的语言,即ALGOL 68.这种语言的复杂性导致生成高性能编译器的难度很大,并且在业界尚未广泛使用。这为新语言留下了空间。

帕斯卡尔Pascal受到ALGOL W工作的影响,明确的目标是生成一种在编译器和运行时都能高效的语言,允许开发结构良好的程序,并有助于教学生结构化编程[4]。一代学生使用Pascal作为本科课程的入门语言。

语言的早期成功之一是引入了UCSD Pascal,这是一个在可以移植到不同平台的自定义操作系统上运行的版本。一个关键的平台是Apple II,它被广泛使用。这导致使用Pascal成为Apple Lisa以及后来的Macintosh中用于开发的主要高级语言。原始Macintosh操作系统的部分内容由Pascal源手工翻译成Motorola 68000汇编语言。

Donald E. Knuth的排版系统TeX是用基于DEC PDP-10 Pascal的原始文字编程系统WEB编写的,而Total Commander,Skype和Macromedia Captivate等应用程序是用Delphi(Object Pascal)编写的。 Apollo Computer从1980年开始使用Pascal作为其操作系统的系统编程语言。

Pascal的变体也经常用于从研究项目到PC游戏和嵌入式系统的所有事物。存在较新的Pascal编译器,它们被广泛使用。

对象Pascal在Lisa的工作期间,Larry Tesler开始与Wirth对应,为该语言添加面向对象的扩展。这最初导致了1983年推出的Clascal。随着Lisa程序逐渐消失并被Mac取代,创建了另一个名为Object Pascal的版本。这是作为MacApp应用程序框架的一部分于1985年在Macintosh上引入的,并且在20世纪90年代初成为Apple的主要开发语言。

Object Pascal扩展在1989年发布版本5.5时被添加到Turbo Pascal中。多年来,Object Pascal成为Microsoft Windows的Delphi系统的基础,它仍然用于开发Windows应用程序,并且可以将代码交叉编译到其他系统。 Free Pascal是一种开源,跨平台的替代方案1。

命名规则单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式大小写的子集。

代码解释帕斯卡命名法是在命名的时候将首字母大写,如:

程序代码public void DisplayInfo();

string UserName;

二者都是采用了帕斯卡命名法。

在C#中,以帕斯卡命名法和骆驼命名法居多。

C#中的编码惯例中,给公共成员变量(public)、受保护的成员变量(protect)、或内部成员变量(internal)命名时,应使用帕斯卡命名法,如score、name、Status均为有效的成员变量名;私有成员变量(private)必须以骆驼命名法命名,并以一个下划线开头。

1“Pascal命名法”可视为一种命名惯例,并无绝对与强制,为的是增加识别和可读性。一旦选用或设定好命名规则,在程式编写时应保持格式的一致性。

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。