コードの読みやすさは、見過ごされることが多いアプリ開発の重要な側面です。 読み取り可能なコードは、理解、保守、デバッグが簡単です。
名前付け規則
一貫性のある名前付け規則により、コードの読みやすさが大幅に向上します。 アプリ内の各要素の目的をすばやく特定し、コードベース内を簡単に移動するのに役立ちます。
全般的な名前付け規則
このセクションでは、「キャメル ケース」と「パスカル ケース」の命名規則について説明します。 これらの用語をすでに知っている場合は、スキップして進んでください。
キャメルケース
コントロールと変数にはキャメル ケースを使用します。 キャメル ケースは小文字の接頭辞で始まり、オブジェクト名や変数名からすべてのスペースを取り除き、最初の単語以降の各単語の最初の文字を大文字にします。 たとえば、テキスト入力コントロールの名前を txtUserEmailAddress とします。
パスカル ケース
データ ソースには Pascal ケースを使用します。 パスカルケースは「アッパーキャメルケース」と呼ばれることもあります。キャメルケースと同様に、すべてのスペースを削除し、単語の最初の文字を大文字にします。 ただし、キャメルケースとは異なり、パスカルケースでも最初の単語は大文字になります。 たとえば、Power Apps の一般的なデータ ソースは Microsoft Office 365 Users コネクタであり、コードでは Office365Users という名前です。
スクリーン名
画面の目的を明確に示す画面名を選択すると、Power Apps Studio で複雑なアプリ間を簡単に移動できます。
スクリーン リーダーは、画面名を読み上げます。 視覚アクセシビリティが必要なユーザーは、これらのスクリーン リーダーに依存します。 画面名にはプレーン言語を使用し、スペースを含め、省略形は使用しないでください。 名前が発表されたときに明確なコンテキストを提供するには、各名前を "Screen" という単語で終えます。
次によい例をいくつか示します:
-
Home_ScreenまたはHome Screen -
Search_ScreenまたはSearch Screen
これらのスクリーンネームの例は理解しやすいものではありません:
HomeLoaderScreenEmpProfDetailsThrive Help
コントロール名
キャンバス上のすべてのコントロール名にキャメル ケースを使用します。 3 文字の型記述子から始まり、その後にコントロールの目的が続きます。 このアプローチは、コントロールの種類を識別する際に役立ち、数式の構築と検索が容易になります。 たとえば、lblUserName コントロールがラベルであることを示します。
次の表は、一般的なコントロールの略語を示しています。
| コントロール名 | 略称 |
|---|---|
| バッジ | bdg |
| ボタン | btn |
| カメラ コントロール | カム |
| Canvas | できる |
| カード | crd |
| グラフ | chr |
| チェックボックス | chk |
| コレクション | col |
| コンボ ボックス | cmb |
| コンポーネント | cmp |
| コンテナ | con |
| 日付 | dte |
| ドロップ ダウン | drp |
| フォーム | frm |
| ギャラリー | ガロン |
| グループ | グループ |
| ヘッダー | HDR |
| Html テキスト | htm |
| アイコン | ico |
| Image | img |
| 情報ボタン | 情報 |
| ラベル | lbl |
| リンク | lnk |
| リストボックス | lst |
| マイク | マイク |
| Microsoft Stream | str |
| ページセクションの形状 | 秒 |
| ペン入力 | ペン |
| Power BI タイル | pbi |
| 進行状況バー | pbar |
| レイティング | rtg |
| リッチ テキスト エディター | rte |
| 図形 (長方形、円など) | shp |
| スライダー | sld |
| タブ リスト | タブ |
| テーブル | tbl |
| テキスト入力 | txt |
| タイマー | tmr |
| トグル | tgl |
| Video | vid |
コントロールとそのプロパティの詳細なリストについては、コントロール リファレンス を参照ください。
注意
コントロール名はアプリケーション全体で一意である必要があります。 コントロールが複数の画面で再利用される場合は、短い画面名に接尾辞を付ける必要があります。 たとえば、galBottomNavMenuHS、「HS」は「ホーム画面」を意味します。このアプローチにより、画面をまたいで数式のコントロールを簡単に参照できます。
次に良くない例をいくつか示します:
zipcodeNext
コントロールに一貫した名前を付けると、アプリのナビゲーション ビューが整理され、コードも整理されます。
データソース名
データ ソースをアプリケーションに追加するときに、Power Apps アプリの名前を変更することはできません。 名前は、ソース コネクタまたは接続から派生したデータ エンティティから継承されます。
次に例をいくつか示します。
-
ソース コネクタから継承された名前: Office 365 Users コネクタの名前はコード内で
Office365Usersです。 -
接続から派生したデータエンティティ: SharePoint コネクタから
Employeesという名前の Microsoft SharePoint リストが返されます。 そのため、コード内のデータ ソースの名前はEmployees。 同じ Power Apps アプリで、同じ SharePoint コネクタを使用して、Contractorsという名前の SharePoint リストをaccessすることもできます。 この場合、コード内の データ ソース の名前はContractorsです。
コネクタと接続の詳細については、「 キャンバス アプリのコネクタの概要」を参照してください。
標準的なアクションコネクタ
標準アクションコネクタでは、LinkedInなどの関数を公開する場合、データソース名とその操作にパスカルケース(単語の頭文字を大文字にする記法)が使用されます。 たとえば、LinkedIn データ ソースは LinkedIn という名前で、ListCompanies という名前の操作を持っています。
ClearCollect(
colCompanies,
LinkedIn.ListCompanies()
)
カスタム コネクタ
カスタム コネクタを使用して、会社が作成するサービスや基幹業務 API などのカスタム アプリケーション プログラミング インターフェイス (API) に接続します。 環境内の任意のメーカーがカスタム コネクタを作成できます。 データ ソース名とその操作には PascalCase を使用します。 カスタム コネクタ名と、Power Appsでの表示方法は異なる場合があります。
MS Auction Item Bid API という名前のカスタム コネクタの例を考えてみましょう。
このコネクタから接続を作成し、データ ソースとしてPower Apps アプリに追加すると、AuctionItemBidAPI として表示されます。
その理由を検出するには、OpenAPI ファイル内で、テキスト Auction Item Bid APIを含むタイトル属性を探します。
"info": {
"version": "v1",
"title": "Auction Item Bid API"
},
Power Apps、この属性値からすべてのスペースを削除し、データ ソースの名前として使用します。
チップ
この属性の値を、 AuctionItemBidAPI などのパスカル大文字の名前に変更し、カスタム接続の名前として使用します。 この方法では、混乱はありません。 カスタム コネクタを作成する際は OpenAPI ファイルをインポートする前に、この値を変更します。
注意
既存の OpenAPI ファイルをインポートする代わりに Create from a blank オプションを使用すると、カスタム コネクタ名の入力を求めるメッセージPower Apps表示されます。 この名前は、カスタム コネクタの名前と、OpenAPI ファイル内のタイトル属性の値の両方です。
AuctionItemBidAPIなど、パスカルで大文字と小文字を区別した名前を使用して、一貫性を保ち、シンプルにします。
Excel データテーブル
Power Apps では、Microsoft Excelの DataTable を使用して Excel ワークシートのデータに接続します。 Excel ドキュメントをデータ ソースとして作成するときは、次の点に注意してください:
- DataTables にわかりやすい名前を付けます。 名前は、Power Apps アプリに接続するコードを記述するときに使用されます。
- ワークシートごとに 1 つの DataTable を使用します。
- DataTable とワークシートに同じ名前を付けます。
- DataTables では説明的な列名を使用します。
- パスカル ケースを使用します。 DataTable 名の各単語は、
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
このような例は基準に沿っていないため、理解するのが困難です。
dSubrstFldshideNxtBtnttlOppCtcFVcQId
EIDなどの短くて不可解な変数名は避けてください。
EmployeeId を代わりに使用します。
アプリに多数の変数がある場合は、数式バーにプレフィックスを入力して、使用可能な変数の一覧を表示します。 これらのガイドラインに従って変数に名前を付ける場合は、アプリの開発時に数式バーで簡単に見つけることができます。 最終的に、このアプローチは、より迅速かつ効率的なアプリ開発につながります。
コレクション名
- コレクションの内容を説明する名前を使用します。 コレクションに含まれる内容とその使用方法について考え、それに応じて名前を付けます。
- コレクション名に
colプレフィックスを付けます。 - コレクションの意図または目的を表示するには、プレフィックスの後に名前を使用します。 各単語の先頭文字を大文字にした場合は、スペースやアンダースコアを使用せずに複数の単語を使用できます。
- キャメル ケースを使用します。 コレクション名を小文字の
colプレフィックスで始めてから、名前の各単語の先頭文字を大文字にします。
これらの例は、コレクション名の規則に従います。
colMenuItemscolThriveApps
これらの例は、コレクション名の規則に従っていません:
orderscolltempCollection
チップ
アプリに多数のコレクションがある場合は、数式バーにプレフィックスを入力して、使用可能なコレクションの一覧を表示します。 コレクションの名前付けに関する次のガイドラインに従うと、アプリの開発時に数式バーで簡単に見つけることができます。 このアプローチにより、アプリ開発が迅速になります。
コメントとドキュメント
アプリケーションのコードを記述するときは、明確なコメントを追加することに重点を置きます。 コメントは、後でコードを理解し、次の開発者がprojectで作業しやすくするのに役立ちます。
Power Appsでは、コードをより明確にする 2 つのコメント スタイルがサポートされています。1 行のノートには二重スラッシュ (//) を使用する行コメントと、複数行のノートに /* と */ を使用するブロック コメントです。
行コメント
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
}
)
コメントをブロックする
/* と */ の間のテキストはブロック コメントです。 ブロック コメントは、1 行のみをカバーする行コメントとは異なり、複数行をカバーすることができます。
コード モジュール ヘッダーのドキュメント化など、より長い説明にはブロック コメントを使用します。 また、これらを使用して、テストまたはデバッグ中に数行のコードを一時的に無効にすることもできます。
コードをより適切に整理するには、テキストの書式設定機能を使用した後にコメントを追加します。 この方法は、コード ブロックの前にコメントが表示される場合に役立ちます。
/*
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"
}
)
テキストの書式設定機能は、コメントについて次の規則に従います。
- プロパティがブロック コメントで始まる場合は、次のコード行が追加されます。
- プロパティが行コメントで始まる場合、次のコード行は追加されません。 それ以外の場合、コードはコメントアウトされます。
- プロパティ内の他の場所にある行コメントとブロック コメントは、前のコード行に追加されます。
コメントが多すぎたり長すぎたりすることを心配する必要はありません。 Power Appsは、クライアント アプリ パッケージの作成時にすべてのコメントを削除します。 コメントは、パッケージ サイズ、アプリのダウンロード速度、読み込み時間には影響しません。
コメント付きのモダンなアプリ デザイナー
Power Appsでは、Power Apps Studio と最新のアプリ デザイナーの両方でコメント機能を使用します。
Power Apps Studio でコメントを追加するには、次のメソッドを使用します。
- ツリー ビュー内の任意の項目の省略記号 ("...") を右クリックします。
- キャンバス領域内のコンポーネントを右クリックします。
- 画面の右上隅にあるコマンド バーにある [ コメント ] ボタンを選択します。
コメントで同僚について参照投稿する場合は、「@」記号の後にその名前を付けます。 このアクションにより、タグ付けしたユーザーに通知メールが送信されます。 タグ付けされたユーザーがアプリにアクセスできない場合は、Power Appsがアプリの共有を促します。
インデントと書式設定
インデントと書式設定は、アプリを明確かつ整理するのに役立ちます。 コードの書式が整っている場合は、読みやすく理解しやすくなります。
インデント
Power Appsでは、厳密なインデントは適用されません。 スペースを使用して、数式のさまざまなセクションを区切ります。 Space キーを数回押してインデントを作成します。
改行
長い数式は複数行に分割して読みやすくします。 Enter キーを押して、数式バーに改行を追加します。
テキストの書式設定コマンドを使用する
数式バーの Format text コマンドは、インデント、間隔、改行をPower Appsコードに追加します。 テキストの 書式設定 コマンドを使用して、キャンバス アプリで一貫したコーディング スタイルを維持し、エラーを防ぐことができます。