Power Apps 네이밍 규칙, 처음부터 사용했으면 좋았을 텐데
Source: Dev.to
Introduction
Power Apps를 처음 만들 때는 네이밍 규칙이 별로 중요하지 않다고 생각했습니다. 모든 것이 잘 동작했죠… 하지만 앱이 커지고 수식이 읽기 어려워지기 시작했습니다. 몇 가지 간단한 네이밍 습관만으로도 앱 유지 보수의 편리함이 크게 바뀌었습니다.
Why Naming Conventions Matter
- Readability – 명확한 이름은 수식을 한눈에 이해할 수 있게 합니다.
- Debugging – 문제의 원인을 찾기가 쉬워집니다.
- Maintenance – 각 요소가 무엇을 하는지 알면 향후 변경이 빨라집니다.
- Collaboration – 팀원이 steep learning curve 없이 바로 작업에 참여할 수 있습니다.
Microsoft의 Power Apps 코딩 가이드에서는 화면, 컨트롤, 변수, 컬렉션에 일관된 네이밍을 사용할 것을 권장합니다. 이는 가독성과 유지 보수성을 향상시키기 때문입니다.
General Naming Pattern
prefix_Purpose
- prefix – 컨트롤 유형을 나타냅니다 (버튼, 라벨, 텍스트 입력 등).
- Purpose – 컨트롤이 수행하는 작업을 설명합니다.
Example
btn_SubmitFormtxt_UserEmaillbl_StatusMessage
Control Prefixes
| 컨트롤 유형 | 접두사 | 예시 |
|---|---|---|
| 버튼 | btn_ | btn_Submit |
| 라벨 | lbl_ | lbl_Status |
| 텍스트 입력 | txt_ | txt_Email |
| 갤러리 | gal_ | gal_Employees |
| 폼 | frm_ | frm_Request |
| 드롭다운 | drp_ | drp_Department |
| 체크박스 | chk_ | chk_Approved |
| 아이콘 | ico_ | ico_Delete |
Goal: prefix = control type + name = what it does.
btn_SubmitRequest를 보면 바로 이것이 요청을 제출하는 버튼이라는 것을 알 수 있습니다.
Screen Naming
설명적인 화면 이름은 개발자 경험과 접근성을 모두 향상시킵니다.
Good examples
HomeScreenEmployeeRequestScreenApprovalScreen
Bad examples
Screen1DashboardPage2
Variable Naming
변수는 저장하는 내용과 범위를 나타내야 합니다.
| 범위 | 접두사 | 예시 |
|---|---|---|
| 전역 | gbl | gblUserEmail |
| 컨텍스트(화면 로컬) | loc | locIsLoading |
| 일반 | var | varSelectedItem |
Collection Naming
컬렉션은 일반적으로 col_ 로 시작하고 내용물을 설명합니다.
colEmployeescolNavigationMenucolActiveRequests
Putting It All Together
Gallery1, Label4, Button2 같은 일반적인 이름 대신 설명적인 접두사를 사용합니다:
gal_Employees
lbl_EmployeeName
btn_SaveEmployee
이제 수식이 실제 로직처럼 읽힙니다:
If(
btn_SaveEmployee.Visible,
/* your logic here */
)
훨씬 이해하기 쉽습니다.
The Most Important Rule
완벽한 “최고” 네이밍 시스템은 없습니다. 팀마다 약간씩 다른 패턴을 채택할 수 있지만 일관성이 핵심입니다. 일관된 네이밍 구조는 앱을 탐색하고 디버깅하며 장기적으로 유지 보수하는 데 큰 도움이 됩니다.
Quick Checklist
- 모든 컨트롤 유형에 명확한 접두사를 사용합니다.
- 각 컨트롤, 화면, 변수, 컬렉션의 목적을 설명합니다.
- 앱 전체에 걸쳐 네이밍 규칙을 일관되게 적용합니다.
미래의 자신(그리고 팀원)에게 큰 감사가 될 것입니다!