代码可读性

命名约定

一般命名约定

本节介绍“驼峰命名法”和“帕斯卡命名法”命名约定。 如果您对这些术语已经熟悉,可以跳过以后的步骤。

驼峰命名法

控件和变量应使用驼峰命名法。 驼峰命名法以小写前缀开头,去掉对象或变量名中的所有空格,并将第一个单词后的第一个字母大写。 例如,文本输入控件可能名为 txtUserEmailAddress

帕斯卡命名法

数据源应使用帕斯卡命名法。 帕斯卡命名法有时也被称为“大驼峰命名法”。 与驼峰命名法一样,大驼峰命名法去掉所有空格,并将单词的第一个字母大写。 不过,与驼峰命名法不同的是,帕斯卡命名法也会将第一个单词大写。 例如,PowerApps 中的一个常用数据源是 Microsoft Office 365 用户连接器,在代码中被命名为 Office365Users。

屏幕名称

屏幕名称应反映屏幕的用途,以便于浏览 Power Apps Studio 中复杂的应用程序。

不太明显的是,屏幕名称会被屏幕阅读器朗读,而有视觉辅助需求的用户需要屏幕阅读器。 因此,您必须使用通俗易懂的语言来命名屏幕,并且名称中必须包含空格,不能使用缩写。 此外,我们还建议您在名称末尾加上“Screen”一词,以便在读出该名称时理解其上下文。

下面是一些很好的例子:

  • Home_ScreenHome Screen
  • Search_ScreenSearch Screen

屏幕截图显示了遵循所述模式的屏幕名称列表

这些屏幕名称示例的可读性较低:

  • Home
  • LoaderScreen
  • EmpProfDetails
  • Thrive Help

控件名称

画布上的所有控件名称都应使用驼峰命名法。 它们应以三个字符的类型描述符开头,然后是控件的用途。 这种方法有助于标识控件类型,并更易于生成公式和搜索。 例如, lblUserName 指示控件是标签。

下表显示了常用控件的缩写。

控件名称 缩写
徽章 bdg
Button btn
摄像头控件 cam
画布 can
crd
图表 chr
复选框 chk
集合 col
组合框 cmb
组件 cmp
容器 con
日期 dte
下拉 drp
表格 frm
gal
组合 grp
标头 hdr
Html 文本 htm
Icon ico
Image img
信息按钮 信息
Label lbl
链接 lnk
列表框 lst
麦克风 mic
Microsoft Stream str
页面部分形状
笔输入 pen
Power BI 磁贴 pbi
进度条 pbar
Rating rtg
富文本编辑器 rte
形状(方形、圆等) shp
滑块 sld
选项卡列表 tbl
tbl
文本输入 txt
Timer tmr
Toggle tgl
Video vid

控件参考中介绍了控件及其属性的详细列表。

备注

控件名称必须在整个应用程序中是唯一的。 如果在多个屏幕上重复使用控件,则短屏幕名称应具有后缀。 例如,galBottomNavMenuHS,其中“HS”代表“主屏幕”。 这种方法使得跨屏幕引用公式中的控件更加容易。

以下是一些不好的例子:

  • zipcode
  • Next

一致地命名您的控件时,您的应用在导航视图中会更整洁,您的代码也会更整洁。

显示遵循该模式的控件名称的导航视图的屏幕截图

数据源名称

将数据源添加到应用程序时,不能在 Power Apps 应用程序中更改其名称。 该名称继承自源连接器或派生自连接的数据实体。

以下是一些示例:

  • 从源连接器继承的名称: 在您的代码中,Office 365 用户连接器的名称是 namedOffice365Users。
  • 从连接派生的数据实体: 从 SharePoint 连接器返回名为 Employees 的 Microsoft SharePoint 列表。 因此,代码中的数据源名称为 Employees。 同一 Power Apps 应用程序也可以使用同一 SharePoint 连接器来访问名为 Contractors 的 SharePoint 列表。 在这种情况下,代码中数据源的名称是 Contractors

有关连接器和连接的更多信息,请参阅 Power Apps 的画布应用连接器概述

标准操作连接器

在显示函数(如 LinkedIn)的标准操作连接器中,数据源名称和操作使用 Pascal 大小写。 例如,LinkedIn 数据源名为 LinkedIn,有一个名为 ListCompanies 的操作。

ClearCollect(
    colCompanies,
    LinkedIn.ListCompanies()
)

自定义连接器

用于连接到自定义应用程序编程接口 (API) 的自定义连接器,例如您公司创建的服务或行业 API。 它们可以由您环境中的任何制作者创建。 我们建议数据源名称及其操作使用帕斯卡命名法。 请注意,自定义连接器名称及其在 PowerApps 中的显示方式可能会有所不同。

考虑此名为 MS Auction Item Bid API 的自定义连接器的例子。

名为 MS Auction Item Bid API 的连接器的屏幕截图

但是,当您从该连接器创建连接并将其作为数据源添加到您的 PowerApps 应用程序时,它会显示为 AuctionItemBidAPI

显示名称为 AuctionItemBidAPI 的连接器的屏幕截图

若要发现原因,可在文件中 OpenAPI 查找包含文本的标题属性 Auction Item Bid API

"info": {
    "version": "v1",
    "title": "Auction Item Bid API"
},

Power Apps 删除该属性值中的所有空格,并将其用作数据源的名称。

提示

我们建议您将此属性的值更改为帕斯卡命名法名称,如 AuctionItemBidAPI,并将其用作自定义连接的名称。 这样,就可以避免混乱。 在导入文件以 OpenAPI 创建自定义连接器之前更改此值。

备注

如果您使用从空白创建选项,而不是导入现有的 OpenAPI 文件,PowerApps 将提示您输入自定义连接器名称。 该名称将用作自定义连接器的名称以及 OpenAPI 文件中标题属性的值。 确保使用帕斯卡命名法的名称,比如 AuctionItemBidAPI,以保持一致性和简洁。

Excel 数据表

PowerApps 使用 Microsoft Excel 中的数据表连接到 Excel 工作表中的数据。 创建 Excel 文档作为数据源时,请牢记以下几点:

  • 提供数据表的描述性名称。 当您编写代码连接到 Power Apps 应用程序时,该名称就在其中。
  • 每个工作表使用一个数据表。
  • 为数据表和工作表指定相同的名称。
  • 在数据表中使用描述性列名称。
  • 使用帕斯卡命名法。 数据表名称的每个单词都应该以大写字母开头,例如 EmployeeLeaveRequests

非类型对象和动态对象

变量名称

画布应用程序中变量的命名约定对于保持 Power Apps 项目的可读性、一致性和清晰性非常重要。 虽然没有严格的标准,但在画布应用程序中采用一致的命名约定可以让您和其他合作者更容易理解、使用和管理变量。

  • 使用驼峰命名法,除了第一个单词,每个单词的第一个字母都大写。
  • 选择有意义的描述性名称,清楚说明变量的目的或内容。 避免过度通用的名称,如 temp 或 var1。 相反,使用描述性的名称,如 userEmail 或 totalAmount。
  • 考虑使用前缀或后缀指示变量的类型。 例如:
    • strUserName 用于文本/字符串变量
    • numTotalAmount 用于数值变量
    • boolIsEnabled 布尔变量的
    • locVarName 本地变量/上下文变量的
    • gblVarLoginUser 用于全局变量
  • 决定您的变量应该以单数还是复数形式命名,并遵循此约定。 例如,一致地使用 userCount 或 users。
  • 避免使用可能与 Power Apps 函数或关键字冲突的保留字或名称。 查阅 Power Apps 文档以获得保留字列表。
  • 考虑使用可提供有关变量的用法或范围的上下文的前缀。 例如:
    • frm 用于表单变量
    • col 用于集合
    • var 用于常规用途的变量
  • 避免使用特殊字符。 保留字母和数字的名称,避免特殊字符或空格。 坚持使用字母和数字。

Power Apps 让上下文变量和全局变量共享相同的名称。 这可能会造成混乱,因为除非使用歧义消除运算符,否则公式默认使用上下文变量。

通过遵循以下约定避免这种情况:

  • 上下文变量的前缀使用 loc
  • 全局变量的前缀使用 gbl
  • 前缀后的名称应指示变量的意向/目的。 如果每个单词的第一个字母大写,则可以使用多个单词,不必用任何特殊字符分隔,如空格或下划线。
  • 使用驼峰大小写。 变量名称以小写字母前缀开头,然后将名称中每个单词的第一个字母大写。

这些示例遵循标准和约定:

  • 全局变量:gblFocusedBorderColor

  • 上下文变量:locSuccessMessage

  • 范围变量:scpRadius

这些例子不符合标准,也更难理解:

  • dSub
  • rstFlds
  • hideNxtBtn
  • ttlOppCt
  • cFV
  • cQId

避免使用简短而加密的变量名称,如 EID。 改用 Use EmployeeId

当应用程序中有许多变量时,您只需在公式栏中键入前缀即可查看可用变量的列表。 如果您遵循这些指南来命名您的变量,当您开发应用程序时,您可以在公式栏中轻松找到它们。 从根本上说,这种方法可以加快应用程序开发。

集合名称

  • 对集合的内容进行描述。 想一想集合包含的内容和/或集合的使用方式,然后相应地命名。
  • 集合应添加前缀 col
  • 前缀后的名称应表明集合的意图或目的。 如果每个单词的第一个字母大写,则可以使用多个单词,不必用空格或下划线分隔。
  • 使用驼峰大小写。 集合名称以小写的 col 前缀开头,然后将名称中每个单词的第一个字母大写。

这些示例遵循集合名称约定:

  • colMenuItems
  • colThriveApps

这些示例不遵循集合名称约定:

  • orderscoll
  • tempCollection

提示

当应用程序中有许多集合时,您只需在公式栏中键入前缀即可查看可用集合的列表。 至于变量,如果您遵循这些指南来命名您的集合,在开发应用时,您可在公式栏中轻松找到它们。 从根本上说,这种方法可以加快应用程序开发。

注释和文件

在为应用程序编写代码时,要强调全面注释的重要性。 这些注释在几个月后重新审视应用程序时不仅是一个有用的指导,而且还向参与该项目的下一位开发人员表达了感激之情。

有两种主要类型的注释可以增强代码的清晰度:Power Apps 支持两种注释样式:行注释,对于单行注释用双正斜杠 (//) 表示;对于多行注释,用 /**/ 括起来的块注释。

行注释

将双正斜杠(//)添加到任何代码 PowerApps 行中,以指定该行的其余部分(包括 //)作为注释。

利用行注释阐明后续代码的功能。 它们还可以用来暂时禁用一行代码,这对于测试目的很有益。

本示例演示行注释的使用。

// ClearCollect function populates the Expenses2 collection with sample data
ClearCollect(
    Expenses2,
    // Entry 1: Client hosted meet and greet
    {
        Title: "Client hosted meet and greet:",
        ID: "4"
        // additional properties  
    }
)

块注释

/**/ 中包含的文本被识别为块注释。 与应用于单行的行注释不同,块注释可以跨多个行。

块注释对多行说明(如记录代码模块标题)很有用。 此外,还可以在测试或调试期间暂时禁用多行代码。

为实现最佳代码组织,建议在利用格式化文本功能后添加注释。 如果您的注释位于代码块之前,这将是有益的。

/*
    Patch Operation to Insert Data:
    - Inserts a new employee record into the 'Employee' entity.
    - Adds corresponding department details to the 'Department' entity.
    Note: Ensure that foreign key relationships and dependencies are maintained for data integrity.
*/
Patch(
    Employee,
    Defaults(Employee),
    {
        FirstName: "John",
        LastName: "Doe",
        Position: "Software Developer"
    }
)

对于现有注释,“格式文本”功能将遵循以下规则:

  1. 如果属性以块注释开头,则下一行代码将不会追加到其中。
  2. 如果属性以行注释开头,则下一行代码将不会追加到其中。 否则,代码将被注释掉。
  3. 属性中其他位置的行和块注释会追加到前一行代码的末尾。

不必担心添加过多的注释或注释过长。 当 PowerApps 创建客户端应用程序包时,所有注释都被删除。 因此,它们不会影响包的大小或减缓应用程序的下载或加载时间。

带注释的现代应用程序设计器

在 Power Apps 中,它被认为是制作者者有效利用 Power Apps Studio 和现代应用设计器中的注释功能的最佳实践。

为了在 Power Apps Studio 中确保最佳参与度,建议制作者使用以下方法添加注释:

  1. 右键单击树视图中任何项的省略号(“...”)。
  2. 右键单击画布区域中的组件。
  3. 选择位于屏幕右上角的命令栏上的“注释”按钮。

当在注释中提到同事时,建议使用“@”符号后跟他们的姓名。 这将触发一封通知邮件,以发送给被标记的同事,从而确保快速访问注释。 如果被标记的用户无法访问该应用,系统会提示制作者与他们共享该应用程序。

显示注释中 @ 个人的支出应用程序的屏幕截图

缩进和格式化

在 Power Apps中,缩进和格式对于在应用程序中维护明确且组织的结构至关重要。 遵循最佳实践可以提高公式和控件的可读性。

编辑栏

缩进

虽然 Power Apps 并不强制使用严格缩进,但是您可以使用空格在视觉上分隔公式的不同部分。 多次按空格键可创建缩进效果。

换行符

可以将长公式分为多行,以增强可读性。 按 Enter 在编辑栏中创建换行符。

使用“设置文本格式”命令

公式栏中的“设置文本格式”命令旨在对您的 Power Apps 代码应用缩进、间距和换行符。 利用“设置文本格式”命令,在整个画布应用程序中建立统一的编码样式,从而确保更高效且能更好地防止错误的开发过程。

突出显示“设置文本格式”命令的 Power Apps studio 屏幕截图

下一步


其他资源

文档