قواعد نامگذاری در برنامهنویسی چیست و چه کاربردی دارد؟ + مثال کاربردی
در برنامهنویسی، قواعد نامگذاری شامل نحوه نوشتن و نامگذاری برای پوشهها، متغیرها، متدها، توابع، کلاسها، پکیجها و … است. برنامهنویسان از انواع مختلفی از روشها برای نامگذاری موجودیتهای مختلف در کدهای خود استفاده میکنند. معروفترین قواعد نامگذاری شامل Camel Case، Snake Case، Kebab Case و Pascal Case است.
انتخاب قواعد نامگذاری میتواند موضوع بحث برانگیزی باشد و هر کدام از روشهای ارائه شده برای آن، کاربران و طرفداران خود را دارند. بعضی شرکتها نیز قواعد خاصی برای نامگذاری تدوین کردهاند. در این مقاله، با قواعد نامگذاری و روشهای معروف آن بیشتر آشنا خواهیم شد. اگر شما قصد یادگیری برنامهنویسی را دارید یا اینکه برنامهنویسی بلد هستید ولی با قوائد نامگذاری آن آشنا نیستید، این مقاله برایتان مفید خواهد بود.
علت پیروی از قواعد نامگذاری چیست؟
استفاده از قواعد نامگذاری در برنامهنویسی بسیار مهم است، زیرا:
۱. قواعد نامگذاری موجودیتها، کدها و ساختار کلی برنامه، خوانایی کدها را بالا میبرد و درک آنها را سادهتر میکند.
۲. استفاده از قواعد نامگذاری باعث میشود که کدهای شما قابل توسعه و نگهداری باشد. زیرا با پیروی از قواعد نامگذاری، کد شما به شکل سازمانیافتهای نوشته میشود و امکان توسعه و ادامه دادن آن را برای دیگران سادهتر میکند.
۳. با استفاده از قواعد نامگذاری، احتمال بروز خطاهای نامگذاری کمتر میشود و این به بهبود کیفیت کدهای شما کمک میکند.
۴. استفاده از قواعد نامگذاری باعث میشود که کد شما قابلیت خواندن و استفاده دوباره در پروژههای مختلف را داشته باشد.
آیا قواعد نامگذاری در همه زبانهای برنامهنویسی یکسان هستند؟
قواعد نامگذاری در زبانهای برنامهنویسی مختلف ممکن است متفاوت باشد. هر زبان برنامهنویسی ممکن است قواعد نامگذاری خاص خود را داشته باشد که برای آن زبان بهینه شده و مناسب نیازهای آن زبان است. برای مثال، در زبان برنامهنویسی جاوا، قواعد نامگذاری Pascal Case و Camel Case برای نامگذاری کلاسها، متدها و متغیرها استفاده میشود، در حالی که در زبان برنامهنویسی پایتون، از قواعد نامگذاری Snake Case و Pascal Case برای نامگذاری متغیرها و توابع استفاده میشود.
بنابراین، برای هر زبان برنامهنویسی باید قواعد نامگذاری مخصوص به آن زبان را بررسی کرد و از آنها برای نامگذاری موجودیتها و کدها استفاده کرد.
قوانین مشترک در قواعد نامگذاری زبانهای برنامهنویسی
با وجود تفاوتهایی که در قواعد نامگذاری زبانهای برنامهنویسی وجود دارد، هنوز برخی اصول مشترک در نامگذاری وجود دارد که به نوعی میتوان آنها را به عنوان قواعد نامگذاری عمومی در نظر گرفت. برخی از این قواعد عبارتند از:
استفاده از نامهای معنادار
استفاده از نامهای معنادار به معنای انتخاب نامهایی است که با وظیفه و عملکرد موجودیت مرتبط باشند و برای کاربران قابل درک باشند. برای مثال، در برنامهنویسی وب، انتخاب نام مناسب برای متغیرها، توابع و کلاسها بسیار مهم است.
فرض کنید شما در حال طراحی یک برنامهی وب جدید هستید و میخواهید کلاسی برای پستهای وبلاگتان ایجاد کنید. به جای این که از نامهای بیمعنایی مانند “Class1” یا “BlogPostClass” استفاده کنید، بهتر است از یک نام معنادار و مرتبط با وظیفه کلاس استفاده کنید. برای مثال، میتوانید از نام “BlogPost” برای کلاس استفاده کنید، که به خواننده کد شما میگوید که این کلاس برای نمایش یا ذخیره پستهای وبلاگ استفاده میشود.
همچنین، در مورد نامگذاری متغیرها و توابع نیز انتخاب نامهایی که با وظیفه و عملکرد آنها مرتبط باشد بسیار مهم است. برای مثال، در یک برنامهی حسابداری، انتخاب نامهایی مانند “x” یا “y” برای متغیرها مناسب نیست. به جای آن، باید از نامهای معنادار مانند “total_income” برای متغیر مرتبط با درآمد کل استفاده کنید. همچنین، نامگذاری توابع نیز باید مرتبط با وظایف آنها باشد، برای مثال اگر یک تابع برای محاسبه مجموع درآمد در یک بازه زمانی مشخص نوشته شده باشد، بهتر است از نام “calculate_total_income_in_time_range” برای آن تابع استفاده کنید.
به طور خلاصه، استفاده از نامهای معنادار در نامگذاری موجودیتها، متغیرها و توابع کدها، به کد شما کمک میکند تا بهتر قابل فهم و نگهداری شود و از خوانایی بالاتری برخوردار باشد.
استفاده از نامهای قابل خواندن
استفاده از نامهای قابل خواندن به معنای انتخاب نامهایی است که برای کاربران ساده و قابل فهم باشد و تلفظ آنها راحت باشد. برای مثال، اگر شما یک برنامهنویسی هستید و میخواهید یک متغیر برای نگهداری تعداد کاربرانی که وارد سایت شدهاند، ایجاد کنید، به جای انتخاب نامهای بیمعنی و تصادفی مانند “a” یا “count”, میتوانید از نام “num_logged_in_users” برای آن استفاده کنید. این نام میتواند برای کاربرانی که با کد شما کار میکنند، قابل درک و خواندن باشد و به آنها کمک میکند تا پیچیدگی کد را بهتر درک کنند.
همچنین، در مورد نامگذاری کلاسها و توابع نیز انتخاب نامهای قابل خواندن بسیار مهم است. برای مثال، اگر شما یک کلاس برای پردازش تصویر نوشتهاید، بهتر است از نام “ImageProcessor” برای آن استفاده کنید. این نام میتواند باعث افزایش خوانایی کد شما شود و به کاربران کمک میکند تا به راحتی متوجه وظیفه و عملکرد کلاس شما شوند.
به طور خلاصه، استفاده از نامهای قابل خواندن در نامگذاری موجودیتها، متغیرها، کلاسها و توابع کدها، به کد شما کمک میکند تا بهتر قابل فهم و نگهداری شود و از خوانایی بالاتری برخوردار باشد.
استفاده از قواعد نامگذاری مناسب
استفاده از قواعد نامگذاری مناسب به معنای انتخاب نامهایی است که با قواعد نامگذاری مخصوص به زبان برنامهنویسی مورد استفاده خود هماهنگ باشند. هر زبان برنامهنویسی قواعد خاص خود را برای نامگذاری متغیرها، توابع، کلاسها و سایر موجودیتها دارد و باید از آنها برای نامگذاری استفاده کرد.
برای مثال، در زبان برنامهنویسی جاوا، قواعد نامگذاری CamelCase برای نامگذاری کلاسها و PascalCase برای نامگذاری توابع و متغیرها استفاده میشود. برای مثال، برای نامگذاری یک کلاس برای پردازش تصویر، میتوان از نام “ImageProcessor” استفاده کرد. همچنین، برای نامگذاری یک تابع برای محاسبه جمع اعداد، میتوان از نام “calculateSum” استفاده کرد.
در زبان برنامهنویسی پایتون، قواعد نامگذاری snake_case برای همه موجودیتها استفاده میشود. برای مثال، برای نامگذاری یک متغیر برای نگهداری تعداد کاربرانی که وارد سایت شدهاند، میتوان از نام “num_logged_in_users” استفاده کرد.
به طور خلاصه، استفاده از قواعد نامگذاری مناسب در نامگذاری موجودیتها، متغیرها، کلاسها و توابع کدها، به کد شما کمک میکند تا بهتر قابل فهم و نگهداری شود و از خوانایی بالاتری برخوردار باشد.
استفاده از زبان خاص برای نامگذاری
استفاده از زبان خاص برای نامگذاری به معنای انتخاب یک زبان خاص برای استفاده در نامگذاری موجودیتها، متغیرها، کلاسها و توابع کدها است. این بهترین روش برای نامگذاری است زیرا از ترکیب زبانهای مختلف در نامگذاری باید خودداری کرد.
برای مثال، اگر شما قرار است یک برنامه برای پردازش تصویر بنویسید، بهتر است که برای نامگذاری موجودیتها، متغیرها و توابع خود، از زبان انگلیسی استفاده کنید. به عنوان مثال، میتوانید از نام “ImageProcessor” برای کلاسی که برای پردازش تصاویر استفاده میشود استفاده کنید. همچنین، برای نامگذاری یک تابع برای بارگذاری تصاویر، میتوانید از نام “load_image” استفاده کنید.
در برخی موارد، استفاده از زبانهای دیگر در نامگذاری ممکن است برای کاربرانی که زبان مورد استفاده آنها متفاوت است، سخت باشد و موجب ایجاد ابهام شود. به عنوان مثال، اگر شما یک برنامه برای ترجمه متون از انگلیسی به فارسی مینویسید، بهتر است که برای نامگذاری موجودیتها، متغیرها و توابع خود، از زبان فارسی استفاده کنید. به عنوان مثال، میتوانید از نام “ترجمه_متن” برای تابعی که برای ترجمه متن استفاده میشود، استفاده کنید.
به طور خلاصه، استفاده از یک زبان خاص برای نامگذاری موجودیتها، متغیرها، کلاسها و توابع کدها، به کد شما کمک میکند تا بهتر قابل فهم و نگهداری شود و از خوانایی بالاتری برخوردار باشد.
استفاده از نامهای کوتاه و قابل حفظ
استفاده از نامهای کوتاه و قابل حفظ به معنای انتخاب نامهایی است که کوتاه و ساده هستند و به راحتی قابل حفظ هستند. این نامها باید به گونهای انتخاب شوند که در طولانی مدت، استفاده از آنها در کد بعدی سادهتر باشد.
برای مثال، اگر شما یک برنامه برای مدیریت یک فروشگاه آنلاین بنویسید، بهتر است از نامهایی کوتاه و قابل حفظ برای موجودیتها استفاده کنید. به عنوان مثال، میتوانید از نام “cart” برای موجودیتی که محصولاتی که کاربران به سبد خرید خود اضافه کردهاند را نگهداری میکند، استفاده کنید. همچنین، برای نامگذاری یک تابع برای اضافه کردن یک محصول به سبد خرید، میتوانید از نام “add_to_cart” استفاده کنید.
استفاده از نامهای کوتاه و قابل حفظ به کاربران کمک میکند تا به راحتی به نامهای موجودیتها، توابع و متغیرها دسترسی پیدا کنند و به راحتی از آنها استفاده کنند. همچنین، این نامها به کاربران کمک میکنند تا به راحتی به خاطر بسپارند و در طولانی مدت با آنها آشنا باشند.
رعایت اصول بزرگنویسی
رعایت اصول بزرگنویسی به معنای استفاده از حروف بزرگ برای تمایز بین کلمات در نامگذاری است. این اصل در نامگذاری موجودیتها، توابع، متغیرها و کلاسها بسیار مهم است. با این کار، کدهای شما بهتر قابل فهم و خواناتر میشوند.
برای مثال، اگر شما یک برنامه برای مدیریت یک فروشگاه آنلاین بنویسید، باید از حروف بزرگ برای تمایز بین کلمات در نامگذاری استفاده کنید. به عنوان مثال، میتوانید از نام “ProductCatalog” برای کلاسی که فهرستی از محصولات فروشگاه را نگهداری میکند استفاده کنید. همچنین، برای نامگذاری یک تابع برای افزودن یک محصول جدید به فهرست محصولات، میتوانید از نام “AddProductToCatalog” استفاده کنید.
با استفاده از حروف بزرگ در نامگذاری، کدهای شما بهتر قابل فهم و خواناتر میشوند. همچنین، این اصل به کاربران کمک میکند تا به راحتی تمایز بین کلمات در نامها را بفهمند و به راحتی از آنها استفاده کنند. به علاوه، با رعایت این اصل، میتوانید کدهایی با قابلیت نگهداری بالاتری بنویسید.
چند روش نامگذاری
توسط برنامهنویسان در طول سالهای مختلف، روشهای مختلفی برای نامگذاری موجودیتهای مختلف مانند متغیرها، توابع، کلاسها و… استفاده شده است. از بین این روشها، چهار روش مشهورتر و بیشتر مورد استفادهی برنامهنویسان قرار میگیرند:
- کمل کیس (Camel Case)
- اسنیک کیس (Snake Case)
- کباب کیس (Kebab Case)
- پاسکال کیس (Pascal Case)
تایپ Camel Case
در روش Camel Case، هر کلمه با حرف بزرگ آغاز میشود به جز کلمهی اول که با حرف کوچک میآید و کلمات به یکدیگر بدون استفاده از فاصله متصل میشوند. این روش برای نامگذاری متغیرها، توابع و کلاسها بسیار مورد استفاده قرار میگیرد.
برای مثال، فرض کنید شما یک برنامهی مدیریت پروژه دارید که در آن باید با موجودیتهایی مانند کارمندان، پروژهها، وظایف و تسکها سر و کار داشته باشید. در این برنامه میتوانید از شیوه Camel Case برای نامگذاری موجودیتها استفاده کنید. به عنوان مثال:
- برای نام یک کلاس مربوط به کارمندان، میتوانید از نام “EmployeeManagement” استفاده کنید.
- برای نام یک تابع مربوط به افزودن کارمند جدید، میتوانید از نام “AddNewEmployee” استفاده کنید.
- برای نام یک متغیر مربوط به تعداد کارمندان، میتوانید از نام “EmployeeCount” استفاده کنید.
با استفاده از شیوه Camel Case در نامگذاری، کدهای شما بهتر قابل فهم و خواناتر میشوند و به کاربران کمک میکند تا به راحتی تمایز بین کلمات در نامها را بفهمند و به راحتی از آنها استفاده کنند.
تایپ Snake Case
در روش Snake Case، کلمات با استفاده از حروف کوچک به هم متصل میشوند و برای جداسازی کلمات از علامت underscore (_) استفاده میشود. این روش برای نامگذاری متغیرها، توابع و کلاسها بسیار مورد استفاده قرار میگیرد.
برای مثال، فرض کنید شما یک برنامهی مدیریت پروژه دارید که در آن باید با موجودیتهایی مانند کارمندان، پروژهها، وظایف و تسکها سر و کار داشته باشید. در این برنامه میتوانید از شیوه Snake Case برای نامگذاری موجودیتها استفاده کنید. به عنوان مثال:
- برای نام یک کلاس مربوط به کارمندان، میتوانید از نام “employee_management” استفاده کنید.
- برای نام یک تابع مربوط به افزودن کارمند جدید، میتوانید از نام “add_new_employee” استفاده کنید.
- برای نام یک متغیر مربوط به تعداد کارمندان، میتوانید از نام “employee_count” استفاده کنید.
با استفاده از شیوه Snake Case در نامگذاری، کدهای شما بهتر قابل فهم و خواناتر میشوند و به کاربران کمک میکند تا به راحتی تمایز بین کلمات در نامها را بفهمند و به راحتی از آنها استفاده کنند.
تایپ Kebab Case
در روش Kebab Case، کلمات با استفاده از حروف کوچک به هم متصل میشوند و برای جداسازی کلمات از علامت خط تیره (-) استفاده میشود. این روش برای نامگذاری متغیرها، توابع و کلاسها بسیار مورد استفاده قرار میگیرد.
برای مثال، فرض کنید شما یک برنامهی مدیریت پروژه دارید که در آن باید با موجودیتهایی مانند کارمندان، پروژهها، وظایف و تسکها سر و کار داشته باشید. در این برنامه میتوانید از شیوه Kebab Case برای نامگذاری موجودیتها استفاده کنید. به عنوان مثال:
- برای نام یک کلاس مربوط به کارمندان، میتوانید از نام “employee-management” استفاده کنید.
- برای نام یک تابع مربوط به افزودن کارمند جدید، میتوانید از نام “add-new-employee” استفاده کنید.
- برای نام یک متغیر مربوط به تعداد کارمندان، میتوانید از نام “employee-count” استفاده کنید.
با استفاده از شیوه Kebab Case در نامگذاری، کدهای شما بهتر قابل فهم و خواناتر میشوند و به کاربران کمک میکند تا به راحتی تمایز بین کلمات در نامها را بفهمند و به راحتی از آنها استفاده کنند.
شیوهی تایپ Pascal Case
در روش Pascal Case، هر کلمه با حرف بزرگ آغاز میشود و کلمات به یکدیگر بدون استفاده از فاصله متصل میشوند. این روش برای نامگذاری کلاسها بسیار مورد استفاده قرار میگیرد.
برای مثال، فرض کنید شما یک برنامهی مدیریت پروژه دارید که در آن باید با موجودیتهایی مانند کارمندان، پروژهها، وظایف و تسکها سر و کار داشته باشید. در این برنامه میتوانید از شیوه Pascal Case برای نامگذاری کلاسها استفاده کنید. به عنوان مثال:
- برای نام یک کلاس مربوط به کارمندان، میتوانید از نام “EmployeeManagement” استفاده کنید.
- برای نام یک کلاس مربوط به پروژهها، میتوانید از نام “ProjectManagement” استفاده کنید.
- برای نام یک کلاس مربوط به وظایف، میتوانید از نام “TaskManagement” استفاده کنید.
با استفاده از شیوه Pascal Case در نامگذاری کلاسها، کدهای شما بهتر قابل فهم و خواناتر میشوند و به کاربران کمک میکند تا به راحتی تمایز بین کلمات در نامها را بفهمند و به راحتی از آنها استفاده کنند.
چه زمانی از چه شیوهی نامگذاری باید استفاده کرد؟
انتخاب شیوهی مناسب برای نامگذاری وابسته به نوع پروژه، فرهنگ و استانداردهای توسعهدهندگان است. با این حال، در عمومیت برای انتخاب شیوهی مناسب برای نامگذاری میتوان به موارد زیر توجه کرد:
- شیوه Camel Case معمولاً برای نامگذاری متغیرها، توابع و کلاسها در زبانهای برنامهنویسی شیءگرا مانند جاوا، سی شارپ و پایتون استفاده میشود.
- شیوه Snake Case معمولاً برای نامگذاری متغیرها، توابع و کلاسها در زبانهای برنامهنویسی فانکشنال مانند جاوااسکریپت و روبی استفاده میشود.
- شیوه Kebab Case معمولاً برای نامگذاری متغیرها، توابع و کلاسها در فریمورکهای وب مانند AngularJS و ReactJS استفاده میشود.
- شیوه Pascal Case معمولاً برای نامگذاری کلاسها در زبانهای برنامهنویسی شیءگرا استفاده میشود.
به طور کلی، استفاده از استانداردهای نامگذاری صحیح و مناسب کمک میکند که کدهای شما بهتر قابل فهم، خواناتر و قابل نگهداری بیشتر باشند. همچنین، استفاده از استانداردهای نامگذاری مناسب میتواند به شما در توسعهی یک سیستم بزرگ و پیچیده کمک کند و برای تیمهای چند نفره کار را آسانتر کند.
آیا استفاده از استانداردهای نامگذاری در توسعه نرمافزارهای موبایل هم مهم است؟
استفاده از استانداردهای نامگذاری در توسعه نرمافزارهای موبایل هم بسیار مهم است. به طور کلی، استفاده از استانداردهای نامگذاری در توسعهی نرمافزارهای موبایل همانند توسعهی نرمافزارهای دیگر، به کدامایی که خوانا و قابل فهم هستند، کمک میکند و باعث میشود که توسعهی سریعتر و قابل نگهداریتر باشد.
در توسعهی نرمافزارهای موبایل، معمولاً از نامگذاری Camel Case برای نامگذاری متغیرها، توابع و کلاسها استفاده میشود. همچنین، در برنامهنویسی موبایل، ممکن است از نامگذاری Snake Case نیز برای نامگذاری متغیرها و توابع استفاده شود. همچنین، برای نامگذاری کلاسها، استفاده از شیوهی Pascal Case مناسب است.
استفاده از استانداردهای نامگذاری در توسعهی نرمافزارهای موبایل، به شما کمک میکند که کد شما بهتر قابل فهم و خواناتر باشد و به راحتی قابل نگهداری و توسعه باشد. همچنین، استفاده از استانداردهای نامگذاری در توسعهی نرمافزارهای موبایل باعث میشود که به راحتی بتوانید کدها و قطعات را پیدا کنید و در صورت نیاز به آنها دسترسی داشته باشید.
قواعد نامگذاری زبانهای برنامهنویسی
در زبانهای برنامهنویسی مختلف، قواعد نامگذاری ممکن است متفاوت باشند. در زیر، به برخی از قواعد نامگذاری در برخی از زبانهای برنامهنویسی معروف اشاره میکنیم:
- جاوا: در جاوا، برای نامگذاری کلاسها، Camel Case باید استفاده شود. همچنین، برای نامگذاری متغیرها و توابع، نیز از Camel Case استفاده میشود. برای نامگذاری ثابتها، Snake Case معمولاً استفاده میشود.
- سی شارپ: در سی شارپ، Camel Case برای نامگذاری کلاسها و توابع باید استفاده شود. همچنین، نامگذاری متغیرها باید با حروف کوچک و با استفاده از Camel Case انجام شود.
- پایتون: در پایتون، نامگذاری کلاسها با Camel Case و نامگذاری متغیرها و توابع با Snake Case انجام میشود.
- جاوااسکریپت: در جاوااسکریپت، نامگذاری متغیرها و توابع با Camel Case و نامگذاری ثابتها با Snake Case انجام میشود.
- روبی: در روبی، Camel Case برای نامگذاری کلاسها و توابع و Snake Case برای نامگذاری متغیرها و ثابتها استفاده میشود.
- PHP: در PHP، نامگذاری کلاسها با Camel Case و نامگذاری متغیرها و توابع با Snake Case انجام میشود.
در هر زبان برنامهنویسی، استفاده از قواعد نامگذاری مناسب برای افزایش خوانایی و قابلیت نگهداری کد بسیار مهم است. در این جدول، قواعد نامگذاری برای پنج زبان برنامهنویسی پایتون، پی اچ پی، سی شارپ، جاوا و جاوااسکریپت آمده است. برای بیشتر آشنایی با این قواعد، میتوانید به مستندات هر زبان مراجعه کنید.
جمع بندی
در زبانهای برنامهنویسی، برای افزایش خوانایی، درک، جستجو و نگهداری کدهای نوشته شده، قراردادهای نامگذاری تعریف شدهاند. عدم رعایت این قراردادها در نامگذاری موجودیتهای زبان برنامهنویسی، شاید منجر به خطای کامپایلری کد نشود، اما برای یک برنامهنویس که با تیمی متشکل از برنامهنویسان دیگر همکاری میکند، دانستن و رعایت این قوانین ضروری است.
برنامهنویسان باید همواره به خوانایی و قابلیت استفادهی مجدد کدهای خود توجه کنند و با رعایت اصول کدنویسی، بتوانند کدهایی تمیز و خوانا ارائه دهند که برنامههای خود را بهبود بخشند.
بیشتر بخوانید: پروکسی (Proxy) چیست؟
بیشتر بخوانید: حلقه در php چیست و چگونه از آن استفاده کنیم؟
بیشتر بخوانید: تفاوت زبانها برنامهنویسی کامپایلری و مفسری در چیست؟