قراردادهای نامگذاری چیست؟
قراردادهای نامگذاری مجموعه ای از قوانین و دستورالعمل ها هستند که برای تعریف نام متغیرها، توابع، کلاس ها و سایر موجودات در برنامه نویسی استفاده می شوند. این قراردادها کمک می کند تا اطمینان حاصل شود که کد قابل خواندن، قابل نگهداری و کمتر در معرض خطا است. در این مقاله، ما اهمیت قراردادهای نامگذاری، شیوههای رایج در زبانهای برنامهنویسی مختلف و بهترین شیوههایی را که توسعهدهندگان باید برای ایجاد کدهای تمیز و سازگار دنبال کنند، بررسی میکنیم.
در توسعه نرم افزار، نوشتن کدی که خواندن و نگهداری آن آسان باشد، به اندازه نوشتن کدی که کار می کند مهم است. یکی از جنبه های اساسی نوشتن چنین کدی، پایبندی به قراردادهای نامگذاری است. این کنوانسیون ها به عنوان یک زبان جهانی در میان توسعه دهندگان عمل می کنند و درک بهتر و همکاری در تیم ها را تسهیل می کنند. چه یک کدنویس مبتدی یا یک توسعه دهنده با تجربه باشید، پیروی از قراردادهای نامگذاری می تواند به طور قابل توجهی کیفیت پایگاه کد شما را بهبود بخشد.
اهمیت قراردادهای نامگذاری
-
خوانایی: نامهای واضح و توصیفی درک کد را آسانتر میکنند. زمانی که نامها دقیقاً هدف خود را توصیف میکنند، توسعهدهندگان دیگر (و خود آینده شما) میتوانند به سرعت عملکرد را بدون نیاز به نظرات یا مستندات گسترده درک کنند.
-
قابلیت نگهداری: نامگذاری مداوم سردرگمی را کاهش میدهد و بهروزرسانی و بازسازی کد را آسانتر میکند. هنگامی که نام ها از یک الگوی استاندارد پیروی می کنند، پیدا کردن و اصلاح بخش های مربوطه کد ساده تر می شود.
-
همکاری: در یک محیط تیمی، قراردادهای نامگذاری تضمین می کند که همه از استانداردهای یکسانی پیروی می کنند، که منجر به ایجاد یک پایگاه کد منسجم می شود. این ثبات به اعضای جدید تیم کمک میکند تا سریعتر سرعت بگیرند و خطر سوء تفاهم را کاهش میدهد.
-
کاهش خطا: متغیرها و توابع با نام خوب می توانند به جلوگیری از خطاها کمک کنند. به عنوان مثال، استفاده از نامهای واضح و متمایز برای موجودیتهای مختلف، احتمال استفاده تصادفی از متغیر یا تابع اشتباه را کاهش میدهد.
قراردادهای نامگذاری رایج
در زیر برخی از نامگذاریهای رایج مورد استفاده در برنامهنویسی به همراه مثالهایی آورده شده است:
-
مورد شتر:
- برای نام گذاری متغیرها، توابع و روش ها در بسیاری از زبان های برنامه نویسی مانند جاوا اسکریپت، جاوا، سی شارپ و پایتون استفاده می شود.
- روشی خوانا و مختصر برای نامگذاری شناسهها بدون فاصله یا جداکننده ارائه میکند.
- مثال:
calculateArea
، getUserDetails
-
کیس پاسکال:
- معمولاً برای نامگذاری کلاسها، ساختارها و رابطها در زبانهای برنامهنویسی شیگرا مانند C#، جاوا و TypeScript استفاده میشود.
- به تمایز کلاس ها و ساختارها از سایر موجودیت های کد کمک می کند.
- مثال:
UserProfile
، HttpClient
-
کیس مار:
- به طور گسترده برای نامگذاری نام فایل ها، دایرکتوری ها و متغیرها در زبان هایی مانند Python، Ruby و Rust استفاده می شود.
- خوانایی را بهبود می بخشد، به ویژه هنگامی که از چندین کلمه استفاده می شود، و تمایز کلمات را آسان می کند.
- مثال:
user_profile.py
، product_details.rb
، max_retries
-
کیف کباب (همچنین به عنوان شناخته شده است مورد ستون فقرات):
- اساساً برای نامگذاری ویژگیهای HTML، کلاسهای CSS و نام مؤلفهها در چارچوبهای توسعه وب مانند React و Angular استفاده میشود.
- جداسازی واضحی بین کلمات فراهم می کند و با نحو HTML و CSS سازگار است.
- مثال:
,
،
.header-navigation
-
حروف بزرگ:
- برای نام گذاری ثابت ها در بسیاری از زبان های برنامه نویسی مانند C++، جاوا و جاوا اسکریپت استفاده می شود.
- به وضوح ثابتها را از متغیرها و سایر شناسهها متمایز میکند و کد را مستندتر میکند.
- مثال:
MAX_VALUE
، DEFAULT_TIMEOUT
، PI
-
نماد مجارستانی:
- پیشوند نام متغیرها را با یک یا چند حرف کوچک نشان می دهد که نوع داده یا سایر اطلاعات مربوط به متغیر را نشان می دهد.
- در حالی که در گذشته محبوب بود، اکنون به طور کلی منع شده است زیرا می تواند خواندن و نگهداری کد را سخت تر کند، به خصوص با IDE های مدرن که اطلاعات نوع را ارائه می دهند.
- مثال:
strName
(رشته)، iAge
(عدد صحیح)، bIsActive
(بولی)
-
قاب قطار (همچنین به عنوان شناخته شده است مورد جدا شده با خط فاصله):
- کلمات با خط تیره از هم جدا می شوند و حرف اول هر کلمه بزرگ می شود.
- گاهی اوقات برای نامگذاری جداول یا ستونهای پایگاه داده، بهویژه در سیستمهای قدیمی یا هنگام تعامل با سیستمهایی که دارای محدودیتهای نامگذاری هستند، استفاده میشود.
- مثال:
User-Profile
، Product-Details
-
مورد تخت:
- همه حروف کوچک هستند و کلمات معمولاً بدون جداکننده به هم متصل می شوند.
- در برخی از زبان های برنامه نویسی یا فریم ورک هایی استفاده می شود که از سبک نامگذاری مینیمالیستی پیروی می کنند یا دستورالعمل های نامگذاری خاصی دارند.
- مثال:
myvariable
، calculatesum
، persondetails
بهترین روش ها برای نامگذاری کنوانسیون ها
-
توصیفی باشد: نام هایی را انتخاب کنید که به وضوح هدف متغیر، تابع یا کلاس را توصیف کنند. از نام های مبهم مانند temp
یا data
.
-
آن را کوتاه اما معنادار نگه دارید: اسامی باید ضمن تشریح بودن، مختصر نیز باشند. ایجاد تعادل بین اختصار و وضوح کلیدی است.
-
از نام های قابل تلفظ استفاده کنید: نام هایی که به راحتی تلفظ می شوند خوانایی و ارتباط را در یک تیم بهبود می بخشند (مثلاً userID
بجای usrID
).
-
از اختصارات خودداری کنید: از به کار بردن اختصارات بپرهیزید، مگر اینکه شناخته شده و قابل درک باشند. به عنوان مثال استفاده کنید calculateAverage
بجای calcAvg
.
-
استفاده مداوم از قراردادهای نامگذاری: هنگامی که یک قرارداد انتخاب شد، باید به طور مداوم در کل پایگاه کد اعمال شود. مخلوط کردن سبک های مختلف می تواند منجر به سردرگمی شود.
-
از استفاده از کلمات کلیدی رزرو شده خودداری کنید: مطمئن شوید که نام شما با کلمات کلیدی رزرو شده در زبان برنامه نویسی که استفاده می کنید مغایرت نداشته باشد.
-
نامگذاری متنی: از نام هایی استفاده کنید که زمینه استفاده از آنها را فراهم می کند. مثلا، userList
آموزنده تر از صرف است list
.
-
Refactor در صورت لزوم: اگر نام بهتری پیدا کردید که وضوح و خوانایی را افزایش میدهد، در تغییر نام متغیرها، توابع یا کلاسها تردید نکنید.
نتیجه
اتخاذ و پایبندی به قراردادهای نامگذاری یک عمل حیاتی در توسعه نرم افزار است. این یک پایگاه کد تمیز، قابل درک و قابل نگهداری را ایجاد می کند و همکاری و نوآوری را برای توسعه دهندگان آسان تر می کند. همانطور که زبانهای برنامهنویسی و محیطهای توسعه تکامل مییابند، نامگذاری نیز ممکن است متحول شود، اما اصول اساسی وضوح، سازگاری و توصیف ثابت باقی میمانند. با گنجاندن این شیوهها در عادتهای کدنویسی خود، میتوانید به فرآیند توسعه کارآمدتر و سازندهتر کمک کنید.
شایان ذکر است که انتخاب قرارداد نامگذاری اغلب به زبان برنامه نویسی، دستورالعمل های پروژه، اولویت های تیم و سبک کد موجود در یک پایگاه کد بستگی دارد. ثبات در یک پروژه مهمتر از پیروی از یک قرارداد خاص از نظر مذهبی است. علاوه بر این، بسته به زمینه و زبان برنامه نویسی مورد استفاده، برخی از قراردادها ممکن است برای موارد استفاده خاص مناسب تر از دیگران باشند.
به یاد داشته باشید، کدها بیشتر از نوشته شدن خوانده می شوند. نوشتن نامهای واضح و ثابت سرمایهگذاری است که در درازمدت نتیجه میدهد و هم بهرهوری فردی و هم همکاری تیمی را افزایش میدهد.
اگر این مقاله را دوست دارید دنبال کنید، واکنش نشان دهید و به اشتراک بگذارید.