قواعد نامگذاری
نامگذاری باید قابل پیشبینی، domain محور و هماهنگ با stack همان پروژه باشد.
Backend / Domain
- classها با
PascalCaseنوشته میشوند - methodها و propertyها با
camelCaseنوشته میشوند - enumها singular هستند
- interfaceها نام contract را نشان میدهند، نه صرفاً پیشوند یا پسوند تزئینی
- booleanها باید با
is،has،canیاshouldشروع شوند
final class UserActivationService
{
public function canActivate(User $user): bool
{
return ! $user->isActive();
}
}
Markup / UI Structure
idوclassباkebab-caseنوشته میشوند- نام component باید هدف را نشان دهد
- نام template یا view باید با feature هماهنگ باشد
<div id="user-profile-form" class="user-profile-form"></div>
JavaScript
- variable و function با
camelCaseنوشته میشوند - constantهای ثابت واقعی با
UPPER_SNAKE_CASEنوشته میشوند - نام event handler باید action را توضیح دهد
Route / Endpoint Names
نام route یا endpoint باید resource-oriented و قابل پیشبینی باشد.
admin.users.index
admin.users.store
admin.users.update
موارد ممنوع
- نامهای مبهم مثل
data،itemوhandleبدون context - abbreviationهای ناشناخته
- مخلوط کردن زبان فارسی و انگلیسی در identifier
- نامگذاری بر اساس implementation موقت