প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal – কোন Case আপনার কোডের জন্য অমৃত!

Level 34
সুপ্রিম টিউনার, টেকটিউনস, ঢাকা

হ্যালো প্রোগ্রামার বন্ধুরা! কেমন আছেন সবাই? আশাকরি কোডিংয়ের ঝড়ঝাপটা ভালোই সামলাচ্ছেন। কোড লিখতে গিয়ে নিশ্চয়ই কখনো না কখনো “নামকরণ”-এর সমস্যায় পড়েছেন? 😅 বিশ্বাস করুন, এটা শুধু আপনার সমস্যা নয়! স্বয়ং Leon Bambrick ও বলেছিলেন:

“There are 2 hard problems in Computer Science: Cache Invalidation, Naming things, and Off-By-1 Errors.”

বুঝতেই পারছেন, Cache Invalidation আর Off-By-1 Error এর মত জটিল সমস্যার সাথে Naming জিনিসটাও সমান তালে পাল্লা দেয়! কোডিংয়ের ভাষায় সুন্দর ও বোধগম্য Name দেওয়াটা একটা আর্ট। আর এই আর্টকে আয়ত্ত করতে হলে Naming Convention সম্পর্কে ভালো ধারণা থাকা দরকার।

আজকে আমরা বহুল ব্যবহৃত Case Types গুলো নিয়ে আলোচনা করব। এই Convention গুলো শুধু আপনার কোডকে সুন্দর করে না, বরং Team Work এবং Maintenance এর কাজকেও অনেক সহজ করে দেয়। তাহলে চলুন, শুরু করা যাক! 🚀

কেন এই Casings এর এত দরকার? 🤔

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

আচ্ছা, প্রথমে একটু Basic আলোচনা করা যাক। আমরা যখন কোড লিখি, তখন Programming Language গুলো কিছু নির্দিষ্ট নিয়ম মেনে চলে। এর মধ্যে একটা হলো Space বা ফাঁকা জায়গা। Programming Language গুলো Space কে Reserved Character হিসেবে গণ্য করে। মানে আপনি যদি Variable বা Function এর Name এ Space ব্যবহার করেন, তাহলে Compiler confused হয়ে যাবে, Error দেখাবে! 😵

ধরুন, আপনি একটি Variable Declare করতে চান, যার Name একাধিক Word দিয়ে গঠিত। আপনি যদি এভাবে Space দিয়ে লেখেন:

number
of
donuts =
34

তাহলে Error আসা অবধারিত! কারণ Programming Language গুলো number, of, donuts - এই Word গুলোকে আলাদা Unit হিসেবে ধরবে। তারা ভাববে আপনি তিনটা আলাদা জিনিস Declare করতে চাচ্ছেন, কিন্তু তাদের মধ্যে কোনো সম্পর্ক নেই।

তাহলে উপায় কী? উপায় হলো Word গুলোকে জুড়ে দেওয়া, যাতে Compiler বুঝতে পারে যে এগুলো একটি Single Unit। আর এই জোড়া লাগানোর জন্যই দরকার পরে কিছু Naming Convention এর। এদেরকেই আমরা Snake Case, Kebab Case, Camel Case, Pascal Case ইত্যাদি নামে চিনি।

ব্যাপারটা অনেকটা এরকম: আপনি একটা Sentence লিখবেন, কিন্তু Space ব্যবহার করতে পারবেন না। তাহলে আপনি কী করবেন? নিশ্চয়ই Word গুলোর মাঝে অন্য কোনো Symbol ব্যবহার করবেন, অথবা Word গুলোর Case পরিবর্তন করে তাদের আলাদা করে দেখাবেন। Casings ও ঠিক একই কাজ করে!

সংক্ষেপে বলতে গেলে, Naming Convention ব্যবহারের কিছু গুরুত্বপূর্ণ কারণ হলো:

  • Readability: Naming Convention ব্যবহার করলে আপনার কোড সহজে পড়া যায় এবং বোঝা যায়।
  • Maintainability: ভালো Naming Convention ব্যবহার করলে আপনার কোড Maintain করা সহজ হয়। ভবিষ্যতে যখন আপনি বা অন্য কেউ আপনার কোড পরিবর্তন করতে যাবেন, তখন তাদের বুঝতে সুবিধা হবে।
  • Collaboration: যদি আপনি Team এ কাজ করেন, তাহলে Naming Convention ব্যবহার করলে সবার কোড একই রকম হবে এবং Collaboration করতে সুবিধা হবে।
  • Professionalism: ভালো Naming Convention ব্যবহার করলে আপনার কোড Professional দেখায় এবং আপনার কাজের মান বৃদ্ধি পায়।

আশাকরি এতক্ষণে বুঝতে পেরেছেন, Naming Convention কোডিংয়ের জন্য কতটা জরুরি। তাহলে চলুন, এবার বিভিন্ন Case Types নিয়ে বিস্তারিত আলোচনা করা যাক। 🤓

Case Types: কোডিংয়ের ভাষায় কত রূপ! 🎭

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

কোডিংয়ের জগতে বিভিন্ন ধরনের Case Types প্রচলিত আছে। এদের মধ্যে সবচেয়ে জনপ্রিয় কয়েকটি হলো:

  1. Snake Case
  2. Kebab Case
  3. Camel Case
  4. Pascal Case

আমরা এখন এই Case Type গুলো নিয়ে বিস্তারিত আলোচনা করব, উদাহরণ দেবো, এবং দেখবো আপনার কোডের জন্য কোনটা সবচেয়ে ভালো।

1. Snake Case: সাপের মতো এঁকেবেঁকে চলা! 🐍

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

Snake Case হলো সবচেয়ে জনপ্রিয় Case গুলোর মধ্যে অন্যতম। এই Case এ Word গুলোর মাঝে Underscore (_) ব্যবহার করা হয়। আর হ্যাঁ, Snake Case এর একটা গুরুত্বপূর্ণ নিয়ম হলো, প্রতিটি Letter হবে Lowercase!

Snake Case এর নামকরণটা বেশ মজার। সাপের শরীর যেমন এঁকেবেঁকে চলে, Snake Case এ Word গুলোও Underscore দিয়ে জুড়ে জুড়ে সেরকম একটা রূপ নেয়।

উদাহরণ দেওয়া যাক:

user_name = "John Doe"
number_of_apples = 10
file_path = "/home/user/documents/report.pdf"

এখানে আমরা দেখছি, প্রতিটি Variable Name এ Word গুলো Underscore দিয়ে আলাদা করা হয়েছে এবং প্রতিটি Letter Lowercase এ লেখা হয়েছে।

Snake Case সাধারণত Variable Name, Function Name এবং File Name এর জন্য ব্যবহার করা হয়। বিশেষ করে Python Language এ Snake Case এর ব্যাপক প্রচলন রয়েছে। Python এর Code Style Guide, PEP 8 এ Snake Case ব্যবহারের উপর জোর দেওয়া হয়েছে।

Database এর Table এবং Column Name এর ক্ষেত্রেও Snake Case ব্যবহার করা হয়। অনেক Database System Snake Case কে Default Naming Convention হিসেবে ব্যবহার করে।

Snake Case এর কিছু সুবিধা হলো:

  • এটা Readable এবং সহজে বোঝা যায়।
  • Python এর জন্য Standard Naming Convention।
  • Database Schema Design এর জন্য উপযোগী।

তবে Snake Case এর কিছু অসুবিধাও আছে:

  • কিছু Programming Language এ Underscore ব্যবহার করা Standard Practice নয়।
  • Camel Case এর চেয়ে তুলনামূলকভাবে কম Attractive।

আরেকটা কথা, Snake Case এর একটা Uppercase Version ও আছে, যাকে আমরা Screaming Snake Case বলি! 📢 এই Case এ প্রতিটি Letter Uppercase এ লেখা হয় এবং Word গুলোর মাঝে Underscore ব্যবহার করা হয়। Screaming Snake Case সাধারণত Constants Declare করার জন্য ব্যবহার করা হয়। Constants মানে হলো এমন Data Item, যার Value Program চলাকালীন পরিবর্তন করা যায় না।

উদাহরণ:

PI = 3.1416
MAX_SIZE = 1000

2. Kebab Case: ড্যাশের মশলা! 🍢

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

Kebab Case অনেকটা Snake Case এর মতোই। পার্থক্য শুধু একটাই - এখানে Underscore এর বদলে Dash (-) ব্যবহার করা হয়। আর নিয়ম সেই একই - সবকিছু Lowercase এ! Kebab Case এর নামকরণটা এসেছে Kebab থেকে। Kebabs যেমন Stick এ গেঁথে তৈরি করা হয়, তেমনি Kebab Case এ Word গুলো Dash দিয়ে গেঁথে দেওয়া হয়।

উদাহরণ:

user-name = "John Doe"
number-of-apples = 10
file-path = "/home/user/documents/report.pdf"

Kebab Case ও বেশ Human-Readable। তবে এর ব্যবহার Snake Case এর চেয়ে তুলনামূলকভাবে কম। Kebab Case সাধারণত URL এ ব্যবহার করা হয়।

URL (Uniform Resource Locator) হলো Internet এ কোনো Web Page বা Resource খুঁজে বের করার জন্য Address। আপনি যখন Browser এ কোনো Web Site এর Address Type করেন, তখন সেটাই হলো URL। Kebab Case URL কে Clean এবং Readable রাখতে সাহায্য করে।

Kebab Case এর কিছু সুবিধা হলো:

  • URL এর জন্য উপযোগী।
  • Human-Readable।

তবে Kebab Case এর কিছু অসুবিধাও আছে:

  • Programming এ Variable Name এর জন্য Kebab Case ব্যবহার করা যায় না, কারণ বেশিরভাগ Programming Language Dash (-) কে Subtraction Operator হিসেবে ট্রিট করে।
  • অন্যান্য Case Type এর চেয়ে কম Popular।

3. Camel Case: উটের পিঠের মতো উঁচুনিচু! 🐪

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

 

Camel Case এর নামটা শুনেই নিশ্চয়ই বুঝতে পারছেন, এখানে Word গুলোর Case পরিবর্তন করে উটের পিঠের মতো একটা আকৃতি তৈরি করা হয়! Camel Case এ প্রথম Word টা Lowercase দিয়ে শুরু হয়। এরপরের Word গুলোর প্রথম Letter Capitalize করা হয়।

Camel Case এর নামকরণটা বেশ মজার। উটের পিঠ যেমন উঁচুনিচু হয়, Camel Case এ Word গুলোর Case ও সেরকম উঁচুনিচু হয়।

উদাহরণ:

userName = "John Doe"
numberOfApples = 10
filePath = "/home/user/documents/report.pdf"

এখানে userName এ প্রথম Word user Lowercase, তারপর Name এর N Capital। দেখতে অনেকটা উটের পিঠের মতো উঁচুনিচু লাগছে, তাই না? 😉

Java, JavaScript এবং TypeScript এ Variable Name, Function Name এবং Method Name এর জন্য Camel Case বহুল ব্যবহৃত। এই Language গুলোর Coding Style Guide এ Camel Case ব্যবহারের উপর জোর দেওয়া হয়েছে।

Camel Case এর কিছু সুবিধা হলো:

  • Java, JavaScript, TypeScript এর জন্য Standard Naming Convention।
  • Readable এবং Attractive।

তবে Camel Case এর কিছু অসুবিধাও আছে:

  • প্রথম Word Lowercase হওয়ায় কারো কারো কাছে এটা কম Attractive মনে হতে পারে।

4. Pascal Case: সব Word এর প্রথম Letter বড়! 🦸

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

Pascal Case অনেকটা Camel Case এর মতোই, কিন্তু এখানে একটা ছোট্ট পার্থক্য আছে। Pascal Case এ প্রথম Word এর প্রথম Letter ও Capital হয়! মানে প্রতিটি Word এর প্রথম Letter ই বড় হাতের হবে!

Pascal Case এর নামকরণ করা হয়েছে Blaise Pascal নামক একজন বিখ্যাত Mathematician এবং Philosopher এর নামানুসারে।

উদাহরণ:

UserName = "John Doe"
NumberOfApples = 10
FilePath = "/home/user/documents/report.pdf"

Class Name দেওয়ার জন্য Pascal Case ব্যবহার করা হয়। Object-Oriented Programming এর ক্ষেত্রে Class এর Name Pascal Case এ দেওয়াই ভালো। এতে Code এর Structure বুঝতে সুবিধা হয়।

Pascal Case এর কিছু সুবিধা হলো:

  • Class Name এর জন্য Standard Naming Convention।
  • Readable এবং Attractive।

তবে Pascal Case এর কিছু অসুবিধাও আছে:

  • Variable Name এর জন্য Pascal Case খুব একটা ব্যবহার করা হয় না।

আপনার কোডের জন্য কোন Case Type সেরা? 🤔

এতক্ষণে নিশ্চয়ই Case Types গুলো নিয়ে আপনার মনে অনেক প্রশ্ন ঘুরপাক খাচ্ছে। কোনটা ব্যবহার করবেন, আর কোনটা করবেন না - সেটা নিয়ে Confused হওয়াটা স্বাভাবিক। সত্যি বলতে, এর কোনো Single Answer নেই। আপনার জন্য কোনটা Best, সেটা নির্ভর করে আপনার Situation এর উপর।

তবে কিছু General Guideline অনুসরণ করতে পারেন:

  • Programming Language: কিছু Programming Language কিছু নির্দিষ্ট Case কে বেশি Support করে। যেমন Python Snake Case কে, Java Camel Case কে।
  • Project Type: ছোট Project এর জন্য যেকোনো Case ব্যবহার করলেই চলে। কিন্তু বড় Project এ Consistency maintain করাটা খুব জরুরি।
  • Team Preference: যদি Team এ কাজ করেন, তাহলে Team এর সবার সাথে আলোচনা করে একটা Style ঠিক করে নিন।

সবচেয়ে Important বিষয় হলো, আপনি যেটা ব্যবহার করেন না কেন, সেটা যেন Clean, Readable এবং Consistent হয়। আপনার কোড যেন অন্য প্রোগ্রামারদের কাছে বোধগম্য হয়।

Naming এর যুদ্ধে আপনিই বিজয়ী! 🏆

প্রোগ্রামিংয়ের গোল্ডেন টিপস! Snake, Camel, Kebab, Pascal - কোন Case আপনার কোডের জন্য অমৃত!

আশাকরি, এই টিউনটি পড়ে Case Types গুলো সম্পর্কে আপনাদের ধারণা Clear হয়েছে। কোডিংয়ের দুনিয়ায় কোনটা কখন কাজে লাগবে, সেটাও বুঝতে পেরেছেন। Naming এর এই যুদ্ধে আপনিই বিজয়ী হবেন, যদি আপনি সঠিক অস্ত্র (মানে Naming Convention) ব্যবহার করতে পারেন।

আজই আপনার কোডে Naming Convention ব্যবহার করা শুরু করুন এবং আপনার কোডকে আরও সুন্দর, Readable এবং Maintainable করে তুলুন। Happy Coding! 💻🎉

Level 34

আমি সোহানুর রহমান। সুপ্রিম টিউনার, টেকটিউনস, ঢাকা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 2 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 675 টি টিউন ও 200 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 123 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

কখনো কখনো প্রজাপতির ডানা ঝাপটানোর মত ঘটনা পুরো পৃথিবী বদলে দিতে পারে।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস