কোড সংগঠিত করার একটি গুরুত্বপূর্ণ পদ্ধতি হলো নেমস্পেস ব্যবহার। দুটি ফাংশনের নাম একই হয়ে যেতে পারে, যা তাদের আলাদা আলাদা নেমস্পেসে রেখে সমাধান করা যায়। নেমস্পেস নেস্টেড হতে পারে, যা বড় কোডবেস সাজাতে সাহায্য করতে পারে। নেমস্পেসে অ্যাক্সেস করা হয় স্কোপ-রেজোলিউশন অপারেটর :: দিয়ে।
নিচের উদাহরণে দুটি আলাদা foo ফাংশনের ব্যবহার দেখানো হয়েছে। নিজ নিজ নেমস্পেস প্রিফিক্স করে এদের একসাথে ব্যবহার করা হয়েছে।
namespace my_ns {
int foo() {
return 44;
}
namespace my_inner_ns {
int baz() {
return 90;
}
}
}
namespace my_other_ns {
int foo() {
return -2;
}
}
int myresult{my_ns::foo() + my_other_ns::foo() * my_ns::my_inner_ns::baz()};
আপনি একটি নামকরা আইন সংস্থায় কাজ করেন, যা অনন্য উইলের অনুরোধ সামলানোয় বিশেষজ্ঞ।
এই অনুশীলনীতে আপনি একটি রহস্যময় ভল্ট খুলবেন। আপনি এই সম্পত্তির এক্সিকিউটর, আর তিনটি পরিবারের দীর্ঘদিন ধরে রাখা গোপন কোড একত্র করে একটি অ্যাকাউন্ট নম্বর ও তার সঙ্গে মেলা কোড বের করবেন।
কোনো একটি পরিবার যাতে একা ভল্ট খুলতে না পারে, সেজন্য তাদের জ্ঞানকে আপনার শেষ উইল থেকে জানা একটি গোপন মডিফায়ারের সঙ্গে মিলিয়েই কেবল ভল্টটি খোলা যাবে।
আপনার সামনে তিনটি কাজ, সবই পরিবারগুলিকে ভল্ট খুলতে সাহায্য করার সঙ্গে জড়িত।
estate_executor নামে একটি নেমস্পেস ডিফাইন করুন।
পরের কাজগুলির কোড estate_executor নেমস্পেসের বডির ভেতরে ডিফাইন করতে হবে।
namespace some_name {
// The space between the curly brackets
// is called body of the namespace.
}
এটাই আপনার বড় মুহূর্ত। গোপন অ্যাকাউন্ট নম্বরটি প্রকাশ করার গোপন মডিফায়ার কী কেবল আপনার কাছেই আছে।
assemble_account_number(int secret_modifier) ফাংশনটি ডিফাইন করুন, যা আর্গুমেন্ট হিসেবে গোপন মডিফায়ার নেয় এবং একত্র করা অ্যাকাউন্ট নম্বরটি একটি int হিসেবে রিটার্ন করে।
সঠিক নম্বরটি পেতে হলে তিনটি পরিবারের প্রত্যেকটির bank_number_part যোগ করতে হবে।
উইলের নির্দেশনা অনুযায়ী আপনাকে প্রথমে সব নীল আর তারপর সব লাল ফ্র্যাগমেন্ট যোগ করতে হবে। দুটি যোগফলকে গুণ করেই ফলাফল কোডটি পাওয়া যায়।
assemble_code() ফাংশনটি ডিফাইন করুন, যা তিনটি পরিবারের ফ্র্যাগমেন্ট একত্র করে একটি integer বানিয়ে ফলাফল কোডটি রিটার্ন করে।
ফাংশনটির কোনো আর্গুমেন্ট নেই এবং এটি শুধু পরিবারগুলির প্রাসঙ্গিক নেমস্পেসের তথ্যের উপর নির্ভর করে।
Exercism-এ সাইন আপ করুন, C++ ট্র্যাকের 19টি কনসেপ্ট100টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।