第六章 ObjectScript 标识符的规则和指南

2023-10-26  本文已影响0人  Cache技术分享

<center>第六章 ObjectScript 标识符的规则和指南 </center>

例程名称和标签的规则

对于例程的名称或标签,ObjectScript 中适用以下规则:

请注意,某些 Z%Z 例程名称是保留供使用的。

保留的例程名称使用

IRIS 保留以下例程名称供使用。这些例程并不存在,但是如果定义了它们,系统会在特定事件发生时自动调用它们。

类名规则

对于任何类,完整的类名具有以下形式:packagename.classname

类名的规则如下:

如果包名称以 % 开头,请使用 zZ 作为其后的下一个字符。

如果是这样,则紧接在任何句点之后的字符必须是字母。

每个以句点分隔的包名称都被视为子包名称,并遵守唯一性规则。

请注意,系统会保留定义每个类时使用的大小写,并且必须与类定义中给出的大小写完全匹配。然而,两个标识符不能仅在大小写上不同。例如,出于唯一性的目的,标识符 id1ID1 被认为是相同的。

包名称(包括所有句点)的前 189 个字符内必须是唯一的。
短类名称的前 60 个字符内必须是唯一的。

要避免的包、类和模式名称

对于持久类,请避免使用 SQL 保留字作为类的短名称。

如果使用 SQL 保留字作为类的短名称,则需要为该类指定 SqlTableName 关键字。另外,短类名和 SQL 表名之间的不匹配在以后阅读代码时需要更加小心。

避免使用以下包名称(取决于命名空间)。也不要使用它们作为模式名称。

类成员命名规则

对于类成员,除非该项目的名称被分隔,否则该名称必须遵循以下规则:

对于映射到 SQL 的类成员,还有一个额外的考虑因素(例如,这包括持久类的大多数属性)。如果第一个字符是 %,则第二个字符必须是 Zz

请注意,系统会保留定义类时使用的大小写,并且必须与类定义中给出的大小写完全匹配。但是,两个类成员的名称不能仅大小写不同。例如,出于唯一性的目的,标识符 id1ID1 被认为是相同的。

此外,成员名称可以被分隔。要创建分隔成员名称,请对名称的第一个和最后一个字符使用双引号。然后名称可以包含否则不允许的字符。例如:

Property "My Property" As %String;

应避免使用的成员名称

对于持久类,避免使用 SQL 保留字作为成员的名称。

如果对这些名称之一使用 SQL 保留字,则必须执行额外的工作来指定如何将类映射到 SQL。例如,对于属性,需要指定 SqlFieldName 关键字。另外,类中的标识符与 SQL 中的标识符不匹配,以后阅读代码时需要更加小心。

有关 SQL 保留字的列表,请参阅保留字。请注意,此列表包含许多名称以 % 开头的项目,例如 %SQLUPPER%FIND。此类项目是 SQLInterSystems 扩展,并且可能会在未来版本中添加其他扩展。

IRISSYS 中的自定义项目

可以在 IRISSYS 数据库中创建项目。升级后,某些项目将被删除,除非它们遵循自定义项目的命名约定。

要将代码或数据添加到此数据库以便项目不被覆盖,请执行以下操作之一:

由于任何名称空间中的标准映射,这些项目将写入 IRISSYS

MAC 代码和包含文件不受升级影响。

上一篇 下一篇

猜你喜欢

热点阅读