জাভাস্ক্রিপ্টে শর্তাধীন বিবৃতির জন্য সেরা অভ্যাসসমূহ
এই প্রবন্ধটি জাভাস্ক্রিপ্টে শর্তাধীন বিবৃতির জন্য সেরা অভ্যাসসমূহ ব্যাখ্যা করে।
YouTube Video
জাভাস্ক্রিপ্টে শর্তাধীন বিবৃতির জন্য সেরা অভ্যাসসমূহ
if
বিবৃতিগুলি জাভাস্ক্রিপ্ট প্রোগ্রামগুলিতে একটি মৌলিক নিয়ন্ত্রণ কাঠামো। তবে, কোড যত জটিল হয়, if
বিবৃতির সংখ্যা বাড়তে পারে, যা কোড পড়া কঠিন করে তোলে। এবার, আমরা জাভাস্ক্রিপ্টে if
বিবৃতিগুলি সঠিকভাবে ডিজাইন করার সেরা অভ্যাসগুলি নিয়ে আলোচনা করব যাতে পাঠযোগ্যতা এবং রক্ষণাবেক্ষণ ক্ষমতা উন্নত হয়।
ফ্ল্যাগ ব্যবহার করে কোড সহজ করুন।
বুলিয়ান মান ব্যবহার করে একাধিক মানদণ্ড সম্বন্ধিত শর্তগুলি সহজ করুন।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2if (isUserLoggedIn && user.hasPaymentInfo && user.cartItems.length > 0) {
3 console.log('Proceed to checkout');
4}
উন্নত উদাহরণসমূহ
শর্তগুলি স্পষ্ট করতে ফ্ল্যাগ ব্যবহার করুন।
1// Good Example
2const canProceedToCheckout = isUserLoggedIn && user.hasPaymentInfo && user.cartItems.length > 0;
3
4if (canProceedToCheckout) {
5 console.log('Proceed to checkout');
6}
শর্তাধীন বিবৃতিগুলিকে সরল রাখুন
যখন একটি শর্তানুগ প্রকাশ জটিল হয়ে যায়, তখন কোডের পঠনযোগ্যতা হ্রাস পায়, তাই শর্তটিকে সহজ রাখা প্রয়োজন।
এড়ানোর উদাহরণসমূহ
1// Bad example
2if (user && user.isLoggedIn &&
3 user.permissions && user.permissions.includes('admin')) {
4 console.log('Welcome, admin!');
5}
উন্নত উদাহরণসমূহ
শর্তটি নির্দিষ্ট অর্থসহ ভেরিয়েবলগুলিতে বিভাগ করে এটি আরও পরিষ্কার করতে পারেন।
1// Good Example
2const isUserLoggedIn = user?.isLoggedIn;
3const hasAdminPermission = user?.permissions?.includes('admin');
4
5if (isUserLoggedIn && hasAdminPermission) {
6 console.log('Welcome, admin!');
7}
যৌক্তিক অপারেটরগুলির অগ্রাধিকার স্পষ্ট করুন
জাভাস্ক্রিপ্টের if
বিবৃতিগুলিতে, যৌক্তিক অপারেটরগুলির অগ্রাধিকার ভুল বোঝা অনিচ্ছাকৃত আচরণ সৃষ্টি করতে পারে।
এড়ানোর উদাহরণসমূহ
1// Bad example
2if (isAdmin && isActive || isPremium) {
3 // The precedence of `&&` is higher than `||`,
4 // so this expression is interpreted as
5 // ((isAdmin && isActive) || isPremium)
6 console.log("Access granted");
7} else {
8 console.log("Access denied");
9}
উন্নত উদাহরণসমূহ
যখন অপারেটরগুলির অগ্রাধিকার অস্পষ্ট হয়, তখন আপনি স্পষ্ট করার জন্য সঠিকভাবে বন্ধনী ব্যবহার করতে পারেন।
1// Good Example
2if (isAdmin && (isActive || isPremium)) {
3 console.log("Access granted");
4} else {
5 console.log("Access denied");
6}
শর্ট-সার্কিট মূল্যায়ন ব্যবহার করা
জাভাস্ক্রিপ্ট &&
(AND) এবং ||
(OR) অপারেটর উভয়ের জন্য শর্ট-সার্কিট মূল্যায়নকে সমর্থন করে। শর্ট-সার্কিট মূল্যায়নের অর্থ হল যখন একটি শর্তের ফলাফল মূল্যায়নের সময় নির্ধারণ করা হয়, তখন বাকি অংশটি মূল্যায়ন করা হয় না।
AND
(&&
): যদি বামদিকটি মিথ্যা হিসাবে মূল্যায়ন করা হয়, তবে ডানদিকটি মূল্যায়ন করা হয় না এবং তার মান ফিরে আসে।OR
(||
): যদি বামদিকটি সত্য হিসাবে মূল্যায়ন করা হয়, তবে ডানদিকটি মূল্যায়ন করা হয় না এবং তার মান ফিরে আসে।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2if (user?.someComplexFunction() && user?.isLoggedIn) {
3 // ...
4}
উন্নত উদাহরণসমূহ
এই কোডে, user?.isLoggedIn
যদি false
হয়, তবুও user?.someComplexFunction()
ফাংশনটি ডাকা হয়।
শর্ট-সার্কিট মূল্যায়ন বোঝা অপ্রয়োজনীয় গণনা এড়াতে এবং দক্ষ কোড লিখতে সহায়তা করতে পারে।
1// Good Example
2if (user?.isLoggedIn && user?.someComplexFunction()) {
3 // ...
4}
else
বিবৃতির ব্যবহার কমিয়ে আনুন
else
বিবৃতিগুলি কোডের গতিবিধি অনুসরণ করার সময় মানসিক চাপ বাড়াতে পারে। এর পরিবর্তে, প্রাথমিক রিটার্নগুলি ব্যবহার করার কথা বিবেচনা করুন।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2function getUserRole(user) {
3 if (!user) {
4 return 'Guest';
5 } else {
6 return user.role;
7 }
8}
উন্নত উদাহরণসমূহ
প্রাথমিক রিটার্নগুলির মাধ্যমে শর্তগুলি পরিষ্কার করুন।
1// Good Example
2function getUserRole(user) {
3 if (!user) return 'Guest';
4 return user.role;
5}
টার্নারি অপারেটরের সঠিক ব্যবহার
সরল শর্তগুলির জন্য, টার্নারি অপারেটর ব্যবহার করা আপনার কোড সংক্ষেপ করতে পারে। তবে, নেস্টিং বা জটিল যুক্তি পরিহার করুন।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2let message = user.isLoggedIn ? user.isAdmin ?
3 'Welcome, admin!'
4 : 'Welcome, user!'
5 : 'Please log in.';
উন্নত উদাহরণসমূহ
শর্তগুলি ভাগ করে পাঠযোগ্যতাকে অগ্রাধিকার দিন।
1// Good Example
2if (!user.isLoggedIn) {
3 message = 'Please log in.';
4} else if (user.isAdmin) {
5 message = 'Welcome, admin!';
6} else {
7 message = 'Welcome, user!';
8}
ডিফল্ট মান এবং শর্ট-সার্কিট মূল্যায়ন ব্যবহার করা
ব্রাঞ্চিং কমাতে এবং কোড সহজ করতে ডিফল্ট মান এবং শর্ট-সার্কিট মূল্যায়ন ব্যবহার করুন।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2let displayName;
3if (user && user.name) {
4 displayName = user.name;
5} else {
6 displayName = 'Guest';
7}
উন্নত উদাহরণসমূহ
এই ক্ষেত্রে, যৌক্তিক অপারেটর ব্যবহার করা এটিকে আরও সংক্ষিপ্ত করে।
1// Good Example
2displayName = user?.name || 'Guest';
switch
বিবৃতি কখন ব্যবহার করতে হবে তা সঠিকভাবে পার্থক্য করুন।
যখন একাধিক শর্তের প্রয়োজন হয়, তখন switch
বিবৃতি উদ্দেশ্য স্পষ্ট করতে পারে।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2if (status === 'success') {
3 console.log('Operation was successful.');
4} else if (status === 'error') {
5 console.error('There was an error.');
6} else if (status === 'pending') {
7 console.log('Operation is still pending.');
8} else {
9 console.log('Unknown status.');
10}
উন্নত উদাহরণসমূহ
switch
বিবৃতি ব্যবহার করা কোড সংগঠিত করতে সাহায্য করতে পারে।
1// Good Example
2switch (status) {
3 case 'success':
4 console.log('Operation was successful.');
5 break;
6 case 'error':
7 console.error('There was an error.');
8 break;
9 case 'pending':
10 console.log('Operation is still pending.');
11 break;
12 default:
13 console.log('Unknown status.');
14}
প্রথমেই প্রস্থান শর্তাবলী সহ গার্ড ক্লজ ব্যবহার করা
একটি গার্ড ক্লজ এমন একটি কৌশল যা প্রাথমিকভাবে একটি ফাংশন থেকে প্রস্থান করার জন্য if
বিবৃতি ব্যবহার করে।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2function processOrder(order) {
3 if (order && order.isValid) {
4 if (order.items && order.items.length > 0) {
5 // Continue processing
6 }
7 }
8}
উন্নত উদাহরণসমূহ
গার্ড ক্লজগুলি ব্যবহার করে নেস্টিং হ্রাস করুন।
1// Good Example
2function processOrder(order) {
3 if (!order?.isValid) return;
4 if (!order.items?.length) return;
5
6 // Continue processing
7}
উদ্দেশ্য স্পষ্ট করতে মন্তব্য লিখুন।
জটিল শর্ত বা গুরুত্বপূর্ণ ব্রাঞ্চের জন্য, কোডের উদ্দেশ্য প্রকাশ করতে সংক্ষিপ্ত এবং পরিষ্কার মন্তব্য যোগ করুন।
এড়ানোর উদাহরণসমূহ
1// Bad Example
2if (stock > 10 && !isRestricted) {
3 console.log('Available for purchase.');
4}
উন্নত উদাহরণসমূহ
উদ্দেশ্য স্পষ্ট করতে মন্তব্য যোগ করুন।
1// Good Example
2// The product must have at least 10 items in stock
3// and not be on the restricted list.
4if (stock > 10 && !isRestricted) {
5 console.log('Available for purchase.');
6}
উপসংহার
JavaScript-এর if
বিবৃতিগুলি কার্যকরভাবে ব্যবহার করার ফলে কোডের পাঠযোগ্যতা এবং রক্ষণাবেক্ষণযোগ্যতা উল্লেখযোগ্যভাবে বৃদ্ধি পেতে পারে।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।