
こんにちは、ろここです📛 Power Appsの世界へようこそ!
今日は、Power Appsでアプリ開発をもっと楽しく、スムーズに進めるための、命名規則の大切さについてお話しします。
これをマスターすれば、アプリ開発がもっとスマートになりますよ!
この記事は Microsoftが公開する 「Power Apps キャンバスアプリのコーディング規約とガイドライン」をもとにしています。
アプリ開発の世界に挑戦しようとしているあなたに、ぜひ知っておいてほしい情報が満載です!
Power Appsを使ってアプリを作る際、この「コーディング規約とガイドライン」を読んでおくことで、以下のようなメリットがありますよ。
- わかりやすいアプリ開発
 - 効率的なチーム開発
 - アプリの品質向上
 - 保守性がアップ
 
今回はこの中の「命名規則」について、説明していきます!
そもそも命名規則とは、アプリの開発においてコントロールや変数などの名前を一定のルールに従って付けることです。
命名規則を守ることでアプリがスマートになり、後から見返しても理解しやすくなります。

どういった名前を付けたらわかりやすいでしょうか?
※良い例、悪い例と書かれたタブをクリックすることで内容が切り替わります
| コントロール名 | 名前 | 
|---|---|
| ボタン | btnSubmit, btnCancel, btnNext | 
| テキスト入力 | txtInputName, txtInputEmail, txtInputPhone | 
| テキスト ラベル | lblTitle, lblDescription, lblDate | 
これらの名前は、役割がすぐにわかるように工夫されています。
例えば、「btn」はボタン、「txtInput」はテキスト入力、「lbl」はラベルを意味しています。その後に続く部分は、その要素が何に関連しているかを示しています。

コントロールにどのような情報を持たせていたか、ひと目でわかるね!
| コントロール名 | 名前 | 
|---|---|
| ボタン | Button1, Button2, Button3… | 
| テキスト入力 | TextInput1, TextInput2, TextInput3… | 
| テキスト ラベル | Label1, Label2, Label3… | 
デフォルトではコントロールを新規作成すると、名称に番号が付いた状態です。
これらはコントロールの種類はわかりますが、一見すると何の役割を持っているのかわからない名前です。
後で見返したときに、どの部分が何をしているのかすぐに理解できないため、保守や修正が難しくなります。

コントロールにどんな内容をいれたのか、わからなくなっちゃった!
アプリ開発の命名規則として一般的な2種類を覚えましょう!
最初の単語は小文字で、次の単語からは大文字で始めます。
先ほどの例で示したコントロール名や、変数名にはこちらが適していますね。
(例)btnSubmit, txtInputName, lblTitle
すべての単語の最初を大文字で始めます。(アッパーキャメルケースとも呼びます)
データソース名にはこちらを使いましょう。
(例)ProjectTasks, CustomerDetails, EmployeeInfo

キャメルはラクダのこぶに似ていること、パスカルはプログラミング言語の「Pascal」が同じ命名規則だったことが由来みたいです!

スネークケース(snake_case)もあるけど、Power Appsではあまり使われないみたい。
コントロールを使用するときはキャメルケースの省略形(3文字)を使うことをおすすめします!
こうすることでコントロールの種類を見分けやすくなり、数式の作成や検索が容易になります。
※よく使う、一般的と書かれたタブをクリックすることで内容が切り替わります
以下は、よく使うコントロールの省略系と使用例をまとめた表です。
| コントロール名 | 省略形 | 使用例 | 
|---|---|---|
| テキスト ラベル(label) | lbl | lblTitle, lblDescription | 
| 編集フォーム(form) | frm | frmEditCustomer, frmEditOrder | 
| テキスト入力(text input) | txt | txtInputName, txtInputEmail | 
| ギャラリー(gallery) | gal | galProductList, galEmployeeDirectory | 
| 四角形 <図形>(shape) | shp | shpHeader, shpFooter | 
| 日付の選択(dates) | dte | dtePickerStartDate, dtePickerEndDate | 
| ボタン(button) | btn | btnSubmit, btnCancel | 

編集フォームはfrmEdit、テキスト入力はtxtInput、日付の選択はdtePickerとするとわかりやすいですよ!
以下は、一般的なコントロールの省略系をまとめた表です。
| コントロール名 | 省略形 | 
|---|---|
| ボタン (button) | btn | 
| カメラ コントロール (camera control) | cam | 
| キャンバス (canvas) | can | 
| カード (card) | crd | 
| コレクション (collection) | col | 
| コンボ ボックス (combo box) | cmb | 
| 日付 (dates) | dte | 
| ドロップ ダウン (drop down) | drp | 
| フォーム (form) | frm | 
| ギャラリー (gallery) | gal | 
| グループ (group) | grp | 
| ヘッダー ページの図形 (header page shape) | hdr | 
| HTML テキスト (html text) | htm | 
| アイコン (icon) | ico | 
| 画像 (image) | img | 
| ラベル (label) | lbl | 
| ページ セクションの図形 (page section shape) | sec | 
| (四角形、円などの) 図形 (shape) | shp | 
| テーブル データ (table data) | tbl | 
| テキスト入力 (text input) | txt | 
| タイマー (timer) | tim | 
データソース名はそのアプリ上では変更することができません。なので、データソース元であるSharepointリストやDataverseなどで作成する際に名前をつけることになります。
その際にはコントロールとの違いを明確にするためにパスカルケースで名前をつけましょう!

日本語で名前をつけちゃうとシステムで勝手に変換されてしまうので、初めは英語にしましょう。
変数名はグローバル変数やコンテキスト変数、コレクション変数があります。
最初の一文字目に「_」(アンダーバー)を使用したキャメルケースを使用し、変数だ!という見分けがつくやり方がおすすめです。
| グローバル変数 | _gbl | _gblUserEmail, _gblTotalItemCount | 
| コンテキスト変数(=ローカル変数) | _ctx, _loc | _ctxCurrentIndex, _locCurrentIndex | 
| コレクション | _col | _colProductList, _colUserTasks | 

これらの変数がどういう役割かは関連記事を見てくださいね!
今回は基本の命名規則である「キャメルケース」と「パスカルケース」について知りました。
Power Appsでは、命名規則は以下のようにするのがおすすめです!
| パーツ | 命名規則 | 例 | 
|---|---|---|
| コントロール名 | キャメルケース | lblTitle, frmEditOrder | 
| データソース名 | パスカルケース | |
| 変数名 | _キャメルケース | _gblUserEmail | 

チームで統一された命名規則を使用し、アプリ開発を高速化していきましょう!
                
