camelCase, snake_case ও kebab-case কোথায় ব্যবহার করবেন
JavaScript, Python, SQL, CSS ও URL-এ কোন নামকরণরীতি মানানসই, উদাহরণসহ জানুন এবং টেক্সট এক রীতি থেকে অন্যটিতে বদলান।
প্রকাশিত: · 5 মিনিটে পড়ুন
camelCase বনাম snake_case বনাম কাবাব-কেস বেশিরভাগই একটি প্রশ্ন যেখানে নামটি থাকে। JavaScript এবং Java camelCase (firstName), পাইথন, রুবি এবং SQL ব্যবহার করে snake_case (first_name), এবং CSS, HTML বৈশিষ্ট্য এবং URL গুলি কাবাব-কেস (first-name) ব্যবহার করে। ভাষার রীতি এবং আপনার দলের শৈলী নির্দেশিকা অনুসরণ করুন। কেসগুলির মধ্যে পাঠ্য পরিবর্তন করতে, ফ্রি কেস কনভার্টারএবং ফ্রি ইউআরএল স্লাগ জেনারেটরআপনার ব্রাউজারে বেশিরভাগ কাজ কভার করে।
ক্যামেলকেস বনাম সাপের_কেস বনাম কাবাব-কেস এক নজরে
| শৈলী | উদাহরণ | যেখানে দেখবেন |
|---|---|---|
| ক্যামেলকেস | userFirstName |
JavaScript এবং TypeScript ভেরিয়েবল এবং ফাংশন, জাভা পদ্ধতি, অনেক ওয়েব API থেকে JSON |
| পাসকালকেস | UserFirstName |
বেশিরভাগ ভাষায় ক্লাসের নাম, প্রতিক্রিয়া উপাদান, C# পদ্ধতি |
| সাপের_কেস | user_first_name |
পাইথন ভেরিয়েবল এবং ফাংশন, রুবি, SQL কলামের নাম, অনেক JSON API |
| SCREAMING_SNAKE_CASE | USER_FIRST_NAME |
অনেক ভাষায় ধ্রুবক, পরিবেশ পরিবর্তনশীল |
| কাবাব-কেস | user-first-name |
CSS বৈশিষ্ট্য এবং শ্রেণীর নাম, HTML বৈশিষ্ট্য, URL, ফাইলের নাম, CLI পতাকা |
নামগুলি আকৃতি থেকে এসেছে: ক্যামেলকেস-এ বড় অক্ষরের কুঁজ রয়েছে, স্নেক_কেস আন্ডারস্কোরে সমতল থাকে এবং কাবাব-কেস শব্দগুলি হাইফেনের উপর তির্যক থাকে।

ভাষা অনুসারে ভাষা
জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্ট। ভেরিয়েবল এবং ফাংশনগুলি হল ক্যামেলকেস (getUserName), ক্লাস এবং প্রতিক্রিয়া উপাদানগুলি হল PascalCase (UserCard), এবং ধ্রুবকগুলি প্রায়শই SCREAMING_SNAKE_CASE (ZZZPROZPROZTECTED11)। ভাষার নিজস্ব বিল্ট-ইনগুলি এটি অনুসরণ করে, যেমনgetElementByIdএবংtoLowerCase৷
Python. PEP 8, Python এর স্টাইল গাইড, ফাংশন, ভেরিয়েবল এবং মডিউল নামের জন্য snake_case, ক্লাসের জন্য CapWords (PascalCase) এবং ধ্রুবকের জন্য আন্ডারস্কোর সহ বড় হাতের হাত ব্যবহার করে। Python-এgetUserNameলেখা কাজ করে, কিন্তু প্রত্যেক পাইথন ডেভেলপার যারা এটি পড়বে তাদের কাছে এটি স্থানের বাইরে দেখাবে।
CSS এবং HTML। CSS বৈশিষ্ট্যগুলি হল কাবাব-কেস (background-color,font-size), এবং বেশিরভাগ শ্রেণি-নামকরণ সিস্টেমগুলি অনুসরণ করে (.nav-item,.card-title)। HTMLdata-বৈশিষ্ট্যগুলিও কাবাব-কেস, এবং ব্রাউজারগুলি তাদের জাভাস্ক্রিপ্টের জন্য রূপান্তর করে:data-user-idহয়ে যায়element.dataset.userId। এই একটি লাইন কেন উভয় কনভেনশন বিদ্যমান তার একটি ঝরঝরে সারাংশ।
SQL এবং ডেটাবেস। কলাম এবং টেবিলের নাম সাধারণত snake_case হয় (created_at,order_items)। অনেক ডেটাবেস একটি ক্ষেত্রে উদ্ধৃতিহীন নামগুলিকে ভাঁজ করে, তাইcreatedAtশান্তভাবেcreatedatহয়ে যেতে পারে যদি না আপনি এটি প্রতিবার উদ্ধৃত করেন। snake_case যে এড়িয়ে যায়।URL এবং ফাইলের নাম। কাবাব-কেস ব্যবহার করুন। Google-এর URL গঠন নির্দেশিকা পৃথক শব্দের আন্ডারস্কোরের পরিবর্তে হাইফেনের সুপারিশ করে, কারণ হাইফেন স্পষ্টভাবে শব্দের সীমানা চিহ্নিত করে। ছোট হাতের অক্ষর সার্ভারে ভাঙা লিঙ্কগুলিকে এড়িয়ে যায় যেগুলিAbout.htmlএবংabout.htmlকে আলাদা ফাইল হিসাবে বিবেচনা করে। দেখুন ইউআরএল স্লাগ কীএবং আমাদের URL স্লাগ সেরা অনুশীলন।
JSON এবং APIs। কোন একক নিয়ম নেই। অনেক জাভাস্ক্রিপ্ট-কেন্দ্রিক এপিআই CamelCase ব্যবহার করে এবং অনেক Python বা Ruby ব্যাক এন্ড রিটার্ন snake_case ব্যবহার করে। প্রতি এপিআই একটি বাছুন এবং একই প্রতিক্রিয়াতে সেগুলি মিশ্রিত করবেন না।
কোনটি পড়া সবচেয়ে সহজ?
আপনি তাদের অভ্যস্ত হয়ে গেলে তিনটিই পাঠযোগ্য। কিছু ব্যবহারিক পার্থক্য:
- স্নেক_কেস এবং কাবাব-কেস শব্দের মধ্যে একটি স্পষ্ট ব্যবধান রাখে, যা দীর্ঘ নাম এবং সংক্ষিপ্ত শব্দের সাহায্য করে (
html_parserবনামhtmlParserবনামHTMLParser)। - ক্যামেলকেস ছোট এবং কোনো অতিরিক্ত অক্ষরের প্রয়োজন নেই।
- কেবাব-কেস বেশিরভাগ ভাষায় পরিবর্তনশীল নামের জন্য ব্যবহার করা যাবে না, কারণ
user-name``user minus nameহিসাবে পড়ে। - ডাবল-ক্লিক অধিকাংশ সম্পাদকে একটি সম্পূর্ণ snake_case বা camelCase নাম নির্বাচন করে, কিন্তু সাধারণত কাবাব-কেসে হাইফেনে থামে।
আসল নিয়ম হল ধারাবাহিকতা।userName,user_nameএবংUserNameমিশ্রিত একটি ফাইল সর্বত্র ব্যবহৃত যেকোনো একটি শৈলীর চেয়ে পড়া কঠিন।
ক্ষেত্রের মধ্যে রূপান্তর
স্তরগুলির মধ্যে ডেটা সরানোর সময় আপনাকে রূপান্তর করতে হবে: একটি Python API-এরcreated_atএকটি JavaScript হয়ে উঠছেcreatedAt, একটি পৃষ্ঠার শিরোনাম একটি URL হচ্ছে, বা একটি সেটিং নাম একটি পরিবেশ পরিবর্তনশীল হচ্ছে৷
**কাবাব-কেস বা স্নেক_কেস-এ: স্লাগ জেনারেটর ব্যবহার করুন। ** শব্দগুলি পেস্ট করুন, প্রতি লাইনে একটি নাম, এবং কাবাব-কেস-এর জন্য হাইফেন (-) বা স্নেক_কেসের জন্য আন্ডারস্কোর (_) বেছে নিন। এটি সমস্ত কিছুকে ছোট করে, উচ্চারণগুলিকে সরল অক্ষরে পরিণত করে এবং চিহ্নগুলিকে ড্রপ করে৷ এটি যেকোনো চিহ্নকে শব্দ বিরতি হিসাবে বিবেচনা করে, তাইuser_first_nameহয়ে যায়user-first-nameএবং আবার ফিরে আসে। এটি ক্যামেলকেসকে বিভক্ত করে না, যদিও:userFirstName``userfirstnameহিসাবে বেরিয়ে আসে। প্রথমে শব্দের মাঝে ফাঁকা স্থান দিন।
SCREAMING_SNAKE_CASE. স্লাগ জেনারেটরে snake_case সংস্করণ তৈরি করুন, তারপর এটি free case converter-এ পেস্ট করুন এবং UPPERCASE এ ক্লিক করুন। অন্য পথে গেলে, ছোট হাতের অক্ষরMAX_RETRIESকেmax_retriesএ পরিণত করে।
**camelCase বা PascalCase-এ। ** এখানে কোনো এক-ক্লিক বোতাম নেই। দ্রুততম রুট: স্পেস দিয়ে শব্দ টাইপ করুন, কেস কনভার্টারে ক্যাপিটালাইজড কেস এ ক্লিক করুন (user first nameহয়ে যায়User First Name), তারপর PascalCase-এর স্পেস মুছে দিন এবং camelCase-এর প্রথম অক্ষর ছোট করুন।একবারে অনেক নাম, কোডের ভিতরে। একটি বড় নাম পরিবর্তনের জন্য, আপনার সম্পাদকের সন্ধান এবং প্রতিস্থাপন একটি নিয়মিত অভিব্যক্তির সাথে ব্যবহার করুন। প্রথমে প্যাটার্নটি পরীক্ষা করুন ফ্রি রেজেক্স টেস্টার: উদাহরণস্বরূপ,_([a-z])একটি অক্ষর অনুসরণ করে প্রতিটি আন্ডারস্কোর খুঁজে পায়, যেখানে snake_case-এর ক্যামেলকেসে ক্যাপিটাল প্রয়োজন হবে। অনেক সম্পাদক প্রতিস্থাপনে ক্যাপচার করা চিঠিটিকে বড় হাতের অক্ষরে রাখতে পারেন; সিনট্যাক্সের জন্য আপনার সম্পাদকের ডকুমেন্টেশন পরীক্ষা করুন।
কনভার্ট করার সময় যে বিষয়গুলো দেখতে হবে
- সংক্ষিপ্ত শব্দ। এটি
userIdবাuserID,HtmlParserবাHTMLParserকিনা তা নির্ধারণ করুন এবং এটির সাথে লেগে থাকুন। - সংখ্যা।
address_line_2পরিচ্ছন্নভাবে রূপান্তরিত হয়;addressLine2ঠিক আছে; শুধু অঙ্ক বাদ দেবেন না। - সর্বজনীন নাম। একটি JSON ক্ষেত্র বা URL এর নাম পরিবর্তন করা হলে যে কেউ এটি ব্যবহার করে তাকে ভেঙে দেয়। ইউআরএলগুলির জন্য একটি পুনঃনির্দেশ যোগ করুন এবং এপিআই-এ কিছু সময়ের জন্য পুরানো ফিল্ডের নামগুলি কাজ করে রাখুন।
আপনার পাঠ্য রূপান্তর করুন
UPPERCASE, লোয়ারকেস এবং ক্যাপিটালাইজড কেসের জন্য ফ্রি কেস কনভার্টারএবং কাবাব-কেস এবং স্নেক_কেস-এর জন্য স্লাগ জেনারেটর ব্যবহার করুন। উভয়ই আপনার ব্রাউজারে চলে এবং আপনি পেস্ট করেন এমন কিছুই আপনার ডিভাইস থেকে যায় না।
সাধারণ প্রশ্ন
- CamelCase এবং snake_case এর মধ্যে পার্থক্য কি?
- camelCase শব্দগুলিকে যুক্ত করে এবং প্রথমের পরে প্রতিটিকে বড় করে (
firstName)। snake_case শব্দগুলিকে ছোট হাতের অক্ষরে রাখে এবং আন্ডারস্কোর (first_name) দিয়ে যুক্ত করে। - আমি কি JSON-এ ক্যামেলকেস বা স্নেক_কেস ব্যবহার করব?
- হয় ঠিক আছে. আপনার বেশিরভাগ ক্লায়েন্ট যে ভাষা ব্যবহার করেন তার সাথে মিল রাখুন এবং API-এর মধ্যে সামঞ্জস্যপূর্ণ থাকুন।
- কাবাব-কেস কি URL-এর জন্য ভাল?
- হ্যাঁ। Google ইউআরএল-এ শব্দগুলিকে আলাদা করার জন্য হাইফেনকে সুপারিশ করে এবং ছোট হাতের অক্ষর-সংবেদনশীলতা সমস্যা এড়িয়ে যায়।
- কেস কনভার্টার ক্যামেলকেস তৈরি করতে পারে?
- এক ক্লিকে নয়। ক্যাপিটালাইজড কেস ব্যবহার করুন, তারপর স্পেস মুছে ফেলুন এবং প্রথম অক্ষর ছোট করুন। কাবাব-কেস এবং স্নেক_কেস-এর জন্য, ইউআরএল স্লাগ জেনারেটর ব্যবহার করুন।
টেক্সট টুল
কেস কনভার্টার ব্যবহার করে দেখুন
ফ্রি, সাইন-আপ লাগে না, আপনার ব্রাউজারেই কাজ করে। লেখা পেস্ট করে এক ক্লিকে UPPERCASE, lowercase, Sentence case, Title Case বা Capitalized Case-এ বদলান, তারপর কপি করুন।
এগুলোও কাজে লাগবে
- URL স্লাগ জেনারেটরএকটি টাইটেল বা যেকোনো টেক্সটকে "my-first-blog-post"-এর মতো পরিষ্কার, ছোট হাতের URL স্লাগে বদলান। অ্যাকসেন্ট কনভার্ট হয় (café হয় cafe), চিহ্ন সরে যায়, আর আপনি ছোট শব্দ বাদ দিতে, সর্বোচ্চ দৈর্ঘ্য ঠিক করতে বা একসঙ্গে পুরো টাইটেলের তালিকার স্লাগ বানাতে পারেন।
- Regex টেস্টারআপনার টেক্সটের ওপর রেগুলার এক্সপ্রেশন পরীক্ষা করুন আর লেখার সঙ্গে সঙ্গে প্রতিটি মিল হাইলাইট হতে দেখুন, সাথে ক্যাপচার গ্রুপের (নামযুক্তগুলোও) টেবিল আর লাইভ খোঁজা-ও-বদলানোর প্রিভিউ। এটি JavaScript রেগেক্সের নিয়ম মেনে চলে, আর খুব বেশিক্ষণ চলা প্যাটার্ন পেজ আটকে না দিয়ে থামিয়ে দেওয়া হয়।