Power Appstipsコンポーネント保守運用

【Power Apps】命名規則について

Power Apps

今回は、私が普段使用している命名規則を紹介します。

ローコードツールなのに命名規則覚えるの面倒だよね、っていう話です。

MicrosoftのPowerApps キャンバス アプリのコーディング規約とガイドライン

PowerApps キャンバス アプリのコーディング規約とガイドラインというMicrosoft公式のコーディング標準があります。

Power Appsのキャンバスアプリを開発される方は是非一度目を通すべきドキュメントです。

ですが、このコーディング規約とガイドラインの中にあるコントロールや変数の命名規則が個人的に面倒だと感じています。

なぜなら、Power Appsではコントロールを生成した時にコントロールに応じて個別の名前が命名されるからです。

公式のガイドラインでは、ラベルlbl、ボタンはbtnなど、接頭語を付けることでコントロールを判別させています。

これではせっかくの自動命名を活かすことが出来ません。

PPログ的命名規則

私がPower Appsのキャンバスアプリでアプリを作成する際に使用している命名規則を紹介します。
モダンコントロール等は記載していませんので、表にないものは自動生成の文字列を利用するというルールに沿って命名してください。

コントロールの名前の変え方

コントロールやスクリーンの名前を変更する方法を2通り紹介します。

コントロール名の上でダブルクリック


コントロール名の上でダブルクリック

…をクリック→名前の変更をクリック

…をクリック→名前の変更をクリック

変数・コレクション

変数、コレクションは自分で命名する必要があるので、ある程度公式のガイドラインに沿っています。

変数・コレクション命名規則
グローバル変数_PowerApps
コンテキスト変数_powerApps
コレクションColPowerApps

命名規則を揃えることで、変数の場合だとアンダーバー(_)を入力しただけで変数の一覧が数式バーの候補にサジェストとして表示されるため、開発が非常に早くなります。

スクリーン・データソース

スクリーン

スクリーンを画面に追加した時にはScreenの後に連番で数字が割り振られます。

この数字の代わりに、そのスクリーンがどんな画面なのかを示す命名をしています。

例)ScreenEditForm, ScreenTop

データソース

データソースは日本語で作成しています。

データソース以外にキャンバスアプリ上に出てくる文字列をアルファベットにすることで、すぐにデータソースだと判別できるようにします。

ただし、OData形式での表示を避けるため、データソースの列名はアルファベットで命名します。

コントロール

スクリーンと同じく、連番の数字の代わりにコントロールの意味を分かりやすく記載します。

例)ButtonSubmit, ButtonBack

テキスト

コントロール名命名
ラベルLabel
テキスト入力TextInput
HTML テキストHtmlText
リッチ テキストエディターRichTextEditor
ペン入力PenInput

入力

コントロール名命名
ボタンButton
ドロップダウンDropDown
コンボ ボックスComboBox
日付の選択DatePicker
リスト ボックスListBox
チェック ボックスCheckbox
ラジオRadio
切り替えToggle
スライダーSlider
評価Rating
コンテナ―Container
タイマーTimer

ギャラリー・データテーブル・フォーム

コントロール名命名
ギャラリーGallery
データテーブルDataTable
編集(フォーム)Form
ディスプレイ (フォーム)FormViewer

メディア

コントロール名命名
画像Image
カメラCamera
バーコード スキャナーBarcodeScanner
ディスプレイ (フォーム)FormViewer
ビデオVideo
オーディオAudio
マイクMicrophone
画像の追加(グループ)AddMediaWithImage
画像の追加(画像の追加)AddMediaButton
画像の追加(画像)UploadedImage1
インポートImport
エクスポートExport
PDF ビューアPdfViewer1
3D で表示ViewIn3D1

グラフ

コントロール名命名
縦棒グラフ(グループ)CompositeColumnChart
縦棒グラフ(凡例)Legend
縦棒グラフ(グラフ)ColumnChart
縦棒グラフ(ラベル)Title
折れ線グラフ(グループ)CompositeLineChart
折れ線グラフ(凡例)Legend
折れ線グラフ(グラフ)LineChart
折れ線グラフ(ラベル)Title
円グラフ(グループ)CompositePieChart
円グラフ(凡例)Legend
円グラフ(グラフ)PieChart
円グラフ(ラベル)Title
Power BI タイルPowerBI

アイコン・図形

コントロール名命名
アイコンIcon
次へ矢印
戻る矢印
Arrow
Circle
四角形Rectangle
三角形
直角三角形
Triangle
五角形Pentagon
六角形Hexagon
八角形Octagon
4 分の 1 円弧
半円
4 分の 3 円弧
PartialCircle
星形〇角形Star

コンポーネント・コンテナー

複数の画面で使用するコントロールは、コンポーネントでまとめておくと命名の重複を防ぐことが出来て便利です。

コントロール名命名
コンポーネントComponent
水平コンテナーContainerHorizon
垂直コンテナーContainerVertical

複数のコントロールをまとめる際は、コンテナーまたはコンポーネントを使用しましょう。

AI Builder・Mixed Reality

コントロール名命名
名詞リーダーBusinessCardReader
領収書プロセッサReceiptProcessor
フォーム プロセッサFormProcessor
オブジェクト検出器ObjectDetector
テキスト認識エンジンTextRecognizer
MR で表示ViewInMR
MR で図形を表示ViewShapeInMR
MR で測定MeasureInMR

接頭語での命名規則をおすすめしない理由

接頭語での命名規則をおすすめしない理由は、以下の3点です。

  • btnなど接頭語で命名すると、アプリにコントロールが増えてきた時に命名する作業が必ず面倒になる
  • 自動生成されたButton1, Button2などのコントロールと、命名したbtn○○というコントロールが混在し、数式バーの候補にルールが複数あることでうまく候補として出なくなる
  • 接頭語とコントロール名の一覧を覚えたり、コントロールが追加されるごとに表をアップデートする手間がかかる(実際公式のコーディング規約は更新されていない)

スピード感のある開発が出来ることがPower Appsの強みなので、命名に時間をかけるのはスマートではないと私は思います。

保守が容易でパフォーマンスに優れたアプリにするために

保守が容易でパフォーマンスに優れたアプリにするために、ぜひ本命名規則とPowerApps キャンバス アプリのコーディング規約とガイドラインを参考にアプリを開発してみてください。

これらを参考にすることで、スピード感を保ちつつ、保守性の高いアプリを開発出来るようになります。

他にも、

  • コードにコメントを付ける
  • 数式のインデントを揃える

というところにも注意しましょう。

おわりに

この記事では独自の命名規則を紹介しましたが、命名規則で大事なことは統一されていることですので、ここで紹介した命名規則が参考になれば幸いです。

コメント

タイトルとURLをコピーしました