سبد (0)

قوانین نامگذاری کد ها

قرارداد چیست؟

بر طبق تعریف Wikipedia قراردادهای کد گذاری عبارت است از یک سری راهنما برای یک زبان برنامه نویسی خاص که در واقع استایل دهی به برنامه نویسی، تمرین و روش برای هر یک از جنبه های یک تکه کد که در این زبان نوشته شده است را پیشنهاد میکند. این قرادادها معمولا شامل سازمان دهی فایل، تورفتگی ها، کامنتها، تعاریف، خطوط فاصله، قراردادهای نامگذاری، تمرینهای برنامه نویسی، اصول برنامه نویسی، کیفیت و .. می شود. برنامه نویسان به شدت علاقه مند هستند که این راهنما را به کار ببندند تا خوانایی کدهایشان افزایش پیدا کند و نگهداری از برنامه راحت تر شود. قراردادهای کدنویسی فقط برای پشتیبان های انسانی و اشخاصی که کد را مرور می کنند قابل به کار گیری است. قراردادها ممکن است در مجموعه ای قوانین مستندسازی شده به صورت رسمی درآید. یا ممکن است خیلی غیر رسمی مانند چیزی که در کد نویسی های فردی انجام می دهیم باشد. قراردادهای کدگذاری توسط کامپایلرها اجباری نشده اند. در نتیجه به کار بستن یا نبستن این قراردادها در اجرای برنامه ای که از این کدها شکل گرفته تاثیری ندارد.

شما باید خیلی راحت تفاوت بین یک ویژگی، متغیر محلی، نام متد، نام کلاس و ... را با نگاه به آن بگویید.به این دلیل که آنها قراردادهای نامگذاری و حروف بزرگ و کوچک متفاوتی دارند.این نوع از قراردادها ارزشی هستند. قراردادهای زیادی را می توانید با جستجو در اینترنت پیدا کنید. بنابراین یا قراردادی را پیدا کنید یا قرارداد خودتان را بسازید و سفت به آن بچسبید و ازش استفاده کنید.

آنجه در زیر می آید تحت عنوان  (Design Guidelines for Developing Class Libraries)  توسط گروهی با نام Microsoft special interest group توسعه پیدا کرده است.

قراردادهای کوچک و بزرگ کردن حروف

 در زیر مثالهایی از استانداردهای کد نویسی سی شارپ (C#)، قراردادهای نامگذاری، و بهترین تمرینها ذکر شده است. از این قراردادها بر اساس نیاز خودتون استفاده کنید.

نامگذاری پاسکال

اولین حرف identifier و اولین حرف از هر کلمه ای که آن را تشکیل میدهد(کلمه مجزا) به صورت بزرگ نوشته می شود. از نامگذاری پاسکال برای identifier هایی که سه یا بیشتر کاراکتر دارند می توان استفاده کرد.

نامگذاری Camel یا شتری

اولین حرف identifier به صورت کوچک نوشته می شود و اولین حرف هر کلمه مجزای دیگری که به identifier چسبیده باشد بزرگ نوشته می شود و سایر حروف کوچک است.

منبع: Capitalization Rules for Identifiers

 

مثالهایی از راهنماهای قوانین نامگذاری

می توانید منابع زیادی را روی اینترنت برای قوانین پیدا کنید. در زیر تنها برخی از آنها که مورد علاقه من بوده است را می توانید پیدا کنید:

چند مثال پایه ای و ساده را از آنچه تا حالا بحث کردیم در زیر آورده ایم. قراردادی که بیشتر به شما میخورد و با آن راحت تر هستید را پیدا کنید و محکم به آن بچسبید و از خوانایی کد زنی با این قرارداد لذت ببرید. 

از نامگذاری پاسکال برای نامگذاری متدها و کلاسها استفاده کنید.

از نامگذاری camel یا شتری برای نامگذاری آرگومانهای متد و متغیرهای محلی استفاده کنید.

از اختصار بپرهیزید.

از underline در نامگذاری identifier ها استفاده نکنید.

وقتی دارید واسط تعریف می کنید(Interface) از حرف I در اول نامش استفاده کنید.

همه متغیرهای کلاس را در بالای کلاس تعریف کنید. اونهایی که استاتیک هستند را بالاتر.

از اسامی مفرد برای enum استفاده کنید

پسوند Enum را در انتهای نام یک enum به کار نبرید.

public enum DirectionEnum
{
    North,
    East,
    South,
    West
}

چرا به قراردادها نیاز داریم؟

برنامه نویس هایی که روی پروژه های بزرگ کار می کنند اغلب با دریایی از قراردادها مواجه می شوند. آنها استانداردها و راهنماهای فراوانی را به کار می گیرند و این به خاطر آوردن همه آنها یک کار تمام وقت است. برای کامپیوتر هم اهمیتی ندارد که کد شما خوانا باشد یا نه. کامپیوتر اساسا با خواندن کدهای دودویی زبان ماشین راحت تر است تا با خواندن عبارتهای مربوط به زبانهای سطح بالا.

قراردادها معمولا چندین منفعت را در اختیار قرار می دهند. با استفاده از یک تصمیم کلی به جای این که از تعدادی زیادی تصمیم جزیی بهره ببرید، می توانید روی ویژگی های بسیار مهمتر کد تمرکز کنید.

  • آنها اجازه می دهند دانش خود را در طول پروژه ها انتقال نمایید.
  • آنها اجازه می دهند که شما کد یک پروژه جدید را سریعتر فرا بگیرید.
  • آنها روی روابط میان عناصر مرتبط تاکید می کنند.

شما باید کد را خوانا بنویسید به این دلیل که به دیگران کمک می کند تا کد شما را به آسانی بخوانند. نامگذاری چیزها یکی از سخت ترین کارهایی است که پیش روی برنامه نویسان قرار دارد. فراموش نکنیم که نامها در واقع معنا به کد می دهند و این یعنی خوانایی مطلق.

بنابراین وقتی کد را خوانا می نویسید راحت می توانید در خانه استراحت کنید.

 

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه