代码可读性

命名约定

一般命名约定

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

驼峰命名法

控件和变量应使用驼峰命名法。 驼峰命名法以小写前缀开头,去掉对象或变量名中的所有空格,并将第一个单词后的第一个字母大写。 例如,文本输入控件可能名为 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 支持两种注释样式以使代码更清晰:行注释,使用双斜杠 (//) 进行单行注释,以及块注释,使用 /**/ 进行多行注释。

行注释

在 Power Apps 中的任何代码行添加双斜杠 (//) 可将该行剩余部分转换为注释。

使用行注释来解释下一行代码的作用。 您还可以使用它们暂时禁用一行代码进行测试。

以下是一个行注释的示例。

// 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. 属性中其他位置的行和块注释将添加到上一行代码中。

无需担心添加过多或过长的注释。 Power Apps 在创建客户端应用程序包时会删除所有注释,因此注释不会影响包大小或减慢应用程序下载或加载速度。

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

在 Power Apps 中,建议在 Power Apps Studio 和现代应用程序设计器中均使用注释功能。

要在 Power Apps Studio 中添加注释,请使用以下方法:

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

在注释中提及同事时,请使用“@”符号后跟他们的姓名。 这会向您标记的用户发送一封通知电子邮件。 如果被标记的用户没有访问应用的权限,Power Apps 会提示您与他们共享应用。

显示在费用应用中使用 @ 提及人员的截图。

缩进和格式化

在 Power Apps 中,缩进和格式化有助于保持应用程序清晰有序。 遵循最佳做法可使公式和控件更易于阅读。

编辑栏

缩进

Power Apps 不会强制执行严格的缩进规则,但您可以使用空格来分隔公式中的不同部分。 按几次空格键可创建缩进。

换行符

将长公式拆分为多行,使其更易于阅读。 按下 Enter 键可在公式栏中添加换行符。

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

公式栏中的“设置文本格式”命令可对您的 Power Apps 代码应用缩进、间距和换行符。 使用“设置文本格式”命令可在画布应用中保持一致的编码风格,并帮助防止出错。

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

下一步