英語で読む

次の方法で共有


コードの読みやすさ

名前付け規則

全般的な名前付け規則

このセクションでは、「キャメル ケース」と「パスカル ケース」の命名規則について説明します。 これらの用語をすでに知っている場合は、スキップして進んでください。

キャメル ケース

コントロールと変数にはキャメル ケースを使用する必要があります。 キャメル ケースは小文字の接頭辞で始まり、オブジェクト名や変数名からすべてのスペースを取り除き、最初の単語以降の各単語の最初の文字を大文字にします。 たとえば、テキスト入力コントロールの名前を txtUserEmailAddress とします。

パスカル ケース

データソースにはパスカル ケースを使用する必要があります。 パスカル ケースは「アッパー キャメル ケース」と呼ばれる場合もあります。 キャメル ケースと同様に、すべてのスペースが削除され、単語の最初の文字が大文字になります。 ただし、キャメルケースとは異なり、パスカルケースでも最初の単語は大文字になります。 たとえば、PowerApps の一般的なデータ ソースは Microsoft Office 365 ユーザー コネクターで、コードでは Office365Users という名前になっています。

スクリーン名

複雑なアプリを Power Apps Studio でナビゲートしやすくするために、画面名は画面の目的を反映することを推奨します。

あまり知られていないのは、スクリーン名はスクリーン リーダーによって読み上げられることです。これは、視覚アクセシビリティを必要とするユーザーにとって必要です。 したがって、画面に名前を付ける際はわかりやすい言葉を使い、名前にはスペースを含めず、略語は使わないことが必須となります。 また、名前がアナウンスされたときに文脈が理解できるように、名前の最後に「Screen」という単語を付けることをお勧めします。

次によい例をいくつか示します:

  • Home_Screen または Home Screen
  • Search_Screen または Search Screen

説明したパターンに従うスクリーン名のリストを示すスクリーンショット

以下のスクリーン名の例は、それほど難解ではありません:

  • Home
  • LoaderScreen
  • EmpProfDetails
  • Thrive Help

コントロール名

キャンバス上のすべてのコントロール名にはキャメル ケースを使用する必要があります。 3 文字のタイプ記述子で始まり、その後に制御の目的が続きます。 このアプローチは、コントロールの種類を識別する際に役立ち、数式の構築と検索が容易になります。 たとえば、lblUserName コントロールがラベルであることを示します。

次の表は、一般的なコントロールの略語を示しています。

コントロール名 略称
バッジ bdg
Button btn
カメラ コントロール cam
Canvas can
Card crd
グラフ​​ chr
CheckBox chk
コレクション col
Combo box cmb
コンポーネント cmp
Container con
日付 dte
ドロップ ダウン drp
Form frm
ギャラリー gal
Group grp
ヘッダー hdr
Html テキスト htm
Icon ico
Image img
情報ボタン 情報
ラべル lbl
Link lnk
リスト ボックス lst
マイク mic
Microsoft Stream str
ページセクションの形状
ペン入力 ペン
Power BI タイル pbi
進行状況バー pbar
レイティング rtg
リッチ テキスト エディター rte
図形 (長方形、円など) shp
Slider sld
タブ リスト tbl
テーブル tbl
テキスト入力 txt
Timer tmr
トグル tgl
動画 vid

コントロールとそのプロパティの詳細なリストについては、コントロール リファレンス を参照ください。

注意

コントロール名はアプリケーション全体で一意である必要があります。 コントロールが複数の画面で再利用される場合は、短い画面名に接尾辞を付ける必要があります。 たとえば、galBottomNavMenuHS では、「HS」は「ホーム画面」を意味します。 このアプローチにより、画面間で数式内のコントロールを参照することが容易になります。

次に良くない例をいくつか示します:

  • zipcode
  • Next

コントロールに一貫した名前を付けると、アプリのナビゲーション ビューが整理され、コードも整理されます。

パターンに従ったコントロール名を表示するナビゲーション ビューのスクリーンショット

データソース名

アプリケーションにデータソースを追加すると、Power Apps アプリでは名前を変更できません。 名前は、ソース コネクタまたは接続から派生したデータ エンティティから継承されます。

次に例をいくつか示します。

  • ソース コネクタから継承された名前: Office 365 ユーザー コネクターは、コード内で Office365Users という名前になっています。
  • 接続から派生したデータ エンティティ: Microsoft SharePoint のリスト Employees が SharePoint コネクタから返されます。 したがって、コード内の データ ソース の名前は Employees になります。 同じ Power Apps アプリは、同じ SharePoint コネクターを使って Contractors というSharePoint リストにアクセスすることもできます。 この場合、コード内の データ ソース の名前は Contractors です。

コネクタと接続の詳細については、キャンバス アプリ コネクタの概要 Power Appsを参照してください。

標準的なアクション コネクタ

LinkedIn などの機能を公開する標準アクション コネクタでは、データ ソース の名前とその操作にパスカル形式が使用されます。 たとえば、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 などの Pascal 形式の名前に変更し、カスタム接続の名前として使用することをお勧めします。 混乱を回避しやすくなります。 カスタム コネクタを作成する際は OpenAPI ファイルをインポートする前に、この値を変更します。

注意

既存の ファイルをインポートする代わりに、 空白から作成 OpenAPI オプションを使用すると、PowerApps カスタム コネクタ名の入力を求められます。 この名前は、カスタム コネクタの名前として、また OpenAPI ファイル内の title 属性の値として使用されます。 一貫性とシンプルさを保つために、必ず AuctionItemBidAPI のようなパスカル形式の名前を付けてください。

Excel データテーブル

PowerApps は Microsoft Excel の DataTables を使って 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

以下の例は標準に準拠しておらず、理解するのが困難です:

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

EID などの短くてわかりにくい変数名は避けてください。 代わりに Use EmployeeId を使用します。

アプリ内に変数がたくさんある場合、数式バーに接頭辞を入力するだけで、使用可能な変数のリストが表示されます。 これらのガイドラインに従って変数に名前をつければ、アプリを開発するときに数式バーで簡単に見つけることができます。 最終的に、このアプローチによりアプリ開発が迅速化されます。

コレクション名

  • コレクションの内容を説明します。 コレクションに含まれる内容や使用方法を考慮して、それに応じて名前を付けます。
  • コレクションの接頭辞には col を付けてください。
  • 接頭辞の後の名前は、コレクションの意図や目的を示すものでなければなりません。 各単語の最初の文字が大文字であれば、複数の単語を使用することができ、スペースやアンダースコアで区切る必要はありません。
  • キャメル ケースを使用します。 コレクション名の先頭には小文字のコルを付け、各単語の頭文字を大文字にします。

これらの例は、コレクション名の規則に従います。

  • colMenuItems
  • colThriveApps

これらの例は、コレクション名の規則に従っていません:

  • orderscoll
  • tempCollection

ヒント

アプリ内に多数のコレクションがある場合、数式バーに接頭辞を入力するだけで、利用可能なコレクションのリストを表示できます。 変数については、これらのガイドラインに従ってコレクションに名前を付けると、アプリを開発するときに数式バーで簡単に見つけることができます。 最終的に、このアプローチによりアプリ開発が迅速化されます。

コメントとドキュメント

アプリケーションのコードを書く際には、包括的なコメントの重要性を強調してください。 これらのコメントは、数カ月後にアプリケーションを見直したときに役立つガイドとなるだけでなく、プロジェクトに協力してくれた次の開発者に感謝の気持ちを伝えることにもなります。

Power Apps は 2 つのコメント スタイルをサポートしています。1 行の注釈の場合は二重のスラッシュ (//) で示される行コメント、複数行の注釈の場合は /**/ で囲まれたブロック コメントです。

行コメント

二重スラッシュ (//) を任意のコード行に追加します。 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  
    }
)

コメントをブロックする

/**/ で囲まれたテキストはブロック コメントとして認識されます。 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"
    }
)

テキストの書式設定機能は、既存のコメントに対して次のルールに従います:

  1. プロパティがブロック コメントで始まる場合、次のコード行がそれに追加されます。
  2. プロパティが行コメントで始まる場合、次の行のコードはそれに追加されません。 それ以外の場合、コードはコメントアウトされます。
  3. プロパティ内の他の場所にある行コメントとブロックコメントは、前のコード行に追加されます。

コメントが多すぎることやコメントが長すぎることを心配する必要はありません。 PowerApps がクライアント アプリ パッケージを作成する際に、コメントはすべて取り除かれます。 したがって、パッケージ サイズに影響を与えたり、アプリのダウンロードや読み込み時間が遅くなったりすることはありません。

コメント付きのモダンなアプリ デザイナー

Power Apps では、Power Apps Studio とモダン アプリ デザイナーの両方でコメント機能を効果的に活用することが、作成者にとってのベストプラクティスと考えられています。

最適なエンゲージメントを実現するため、Power Apps Studio の作成者は以下の方法でコメントを追加することをお勧めします:

  1. ツリー ビュー内の任意の項目の省略記号 ("...") を右クリックします。
  2. キャンバス領域内のコンポーネントを右クリックします。
  3. 画面右上のコマンドバーにある「コメント」ボタンを選択します。

コメントで同僚に言及する場合は、「@」記号に続けて名前を使用することをお勧めします。 これにより、タグ付けされた同僚に通知メールが送信され、コメントに迅速にアクセスできるようになります。 タグ付けされたユーザーがアプリにアクセスできない場合、作成者はそのユーザーとアプリを共有するように求められます。

コメントで「@メンション」された人物を示す経費アプリのスクリーンショット

インデントと書式設定

Power Apps では、インデントと書式設定は、アプリ内で明確で整理された構造を維持するために重要です。 ベスト プラクティスに従うと、数式とコントロールの読みやすさが向上します。

数式バー

インデント

Power Apps は厳密なインデントを強制しませんが、スペースを使用して数式のさまざまなセクションを視覚的に区切ることができます。 インデント効果を作成するには、スペース バーを複数回押します。

改行

読みやすさを向上させるために、長い数式を複数行に分割できます。 数式バー内に改行を作成するには、エンター キーを押します。

テキストの書式設定コマンドを使用する

数式バーの「テキストの書式設定」コマンドは、Power Apps コードにインデント、スペーシング、改行を適用する目的で使用します。 「テキストの書式設定」コマンドを使用して、キャンバス アプリ全体で統一されたコーディング スタイルを確立し、より効率的でエラーの少ない開発プロセスを実現します。

テキストの書式設定コマンドが強調表示された Power Apps Studio のスクリーンショット

次のステップ


その他のリソース

ドキュメント