
ما باید غالباً در برنامهنویسی فاصلهی میان کلمات را حذف کنیم، زیرا فاصله برای چیز دیگری قرار داده شده است؛ به عنوان یک مثال، نمیتوانیم مفهوم user login count را به صورت زیر بنویسیم:
user login count = 5
زبانهای برنامهنویسی رایج، هر کلمه را به عنوان مفهومی جداگانه در نظر میگیرند، برای همین هر کدام از کلمات user و login و count به جدا بررسی میشوند و با هم معنای واحدی را تشکیل نمیدهند! پس باید به صورت زیر عمل کنیم:
userLoginCount = 5
نمیتوان گفت که روش «...» بهترین روش برای ترکیب کلمات است، ما در مثال قبلی فاصلهی بین کلمات را حذف کردیم و حروفِ کلمات بعد از کلمهی اول را به شکل بزرگ (Capital) نوشتیم. رایجترین روشهای ترکیب کلمات عبارتند از: camel case، pascal case، snake case و kebab case.
در این روش فاصلهی بین کلمات حذف شده و ابتدای کلماتی که پس از کلمهی اول میآیند، به صورت بزرگ نوشته میشود. پس از user login count عبارت userLoginCount به دست میآید. این روش بسیار رایج است و معمولاً برای نامگذاری متغیرها استفاده میشود.
این روش مشابه روش قبلی است، با این تفاوت که ابتدای کلمهی اول نیز باید با حرف بزرگ نوشته شود؛ پس user login count را به UserLoginCount تبدیل میکنیم. در بسیاری از زبانها از این روش برای نامگذاری کلاسها استفاده میشود.
در روش Snake case، فاصلهها را با خط زیر (Underscore) جایگزین میکنیم و از user login count، عبارت user_login_count را میسازیم. همچنین در نوع All caps تمامی حروف را بزرگ مینویسیم، یعنی از این مثال به USER_LOGIN_COUNT میرسیم. از حالت اول معمولاً برای نامگذاری فیلدهای جداولمان استفاده میکنیم و حالت دوم هم برای نامگذاری ثوابت (Constants) رایج است.
این روش به روش قبلی شباهت دارد و به جای خط زیر از خط تیره (Dash) استفاده میکنیم، یعنی ترکیب user login count به صورت user-login-count انجام میشود.
این سبک بیشتر در URLها به چشم میخورد، لینک زیر را ببینید:
http://www.blog.com/cool-article-1
این راه خوب و تمیزی است و خواندن URLها را برای انسان آسان میکند.
حالا کدامشان «بهتر» است؟! گفتیم که «بهتر»ای وجود ندارد و مهم این است که از فرم استاندارد پیروی کنید و خصوصاً اگر در یک تیم کار میکنید، دربارهی استفادهی از یک استاندارد به توافق برسید.
آنچه خواندید، ترجمهای از این نوشته بود، شما چه تجربیاتی در این باره دارید؟!