টাইপস্ক্রিপ্টে শর্তযুক্ত লজিকের জন্য সেরা অনুশীলন

টাইপস্ক্রিপ্টে শর্তযুক্ত লজিকের জন্য সেরা অনুশীলন

এই নিবন্ধে টাইপস্ক্রিপ্টে শর্তযুক্ত লজিকের জন্য সেরা পদ্ধতি ব্যাখ্যা করা হয়েছে।

YouTube Video

টাইপস্ক্রিপ্টে শর্তযুক্ত লজিকের জন্য সেরা অনুশীলন

টাইপ গার্ড দিয়ে টাইপ সংকুচিত করা

টাইপস্ক্রিপ্টের টাইপ সিস্টেম ব্যবহার করে এবং if বিবৃতির মধ্যে টাইপ গার্ড প্রয়োগ করে, আপনি টাইপ নিরাপত্তা এবং পড়ার সহজতাকে উন্নত করতে পারেন।

1function processInput(input: string | number) {
2    if (typeof input === "string") {
3        console.log(`String input: ${input.toUpperCase()}`);
4    } else {
5        console.log(`Number input: ${input.toFixed(2)}`);
6    }
7}

typeof এবং অন্যান্য টাইপ গার্ড ব্যবহার করা নিশ্চিত করে যে প্রতিটি ব্লকের কোড টাইপ-নিরাপদ এবং প্রসঙ্গ অনুযায়ী প্রাসঙ্গিক।

নেস্টেড if বিবৃতি এড়িয়ে চলুন

গভীরভাবে নেস্টেড if বিবৃতি কোডের পড়ার সহজতা এবং রক্ষণাবেক্ষণযোগ্যতা হ্রাস করে। এর পরিবর্তে, প্রারম্ভিক রিটার্ন, লজিক্যাল অপারেটর বা এক্সট্রাক্ট ফাংশন ব্যবহার করুন।

খারাপ উদাহরণ:

1function checkUser(user: { age?: number; isAdmin?: boolean }) {
2    if (user.age) {
3        if (user.age > 18) {
4            if (user.isAdmin) {
5                console.log("User is an adult admin.");
6            }
7        }
8    }
9}

উন্নত উদাহরণ:

1function checkUser(user: { age?: number; isAdmin?: boolean }) {
2    if (!user.age || user.age <= 18 || !user.isAdmin) {
3        return;
4    }
5    console.log("User is an adult admin.");
6}

এই পদ্ধতি কোডটিকে সমতল করে এবং লজিককে আরও বোধগম্য করে তোলে।

ঐচ্ছিক চেইনিং ব্যবহার করুন

নেস্টেড প্রোপার্টি পরীক্ষা করার সময়, অপ্রয়োজনীয় if শর্ত এড়ানোর জন্য ঐচ্ছিক চেইনিং (?.) ব্যবহার করুন।

ঐচ্ছিক চেইনিং ছাড়া:

1if (user && user.profile && user.profile.email) {
2    console.log(user.profile.email);
3}

ঐচ্ছিক চেইনিং ব্যবহার করে:

1if (user?.profile?.email) {
2    console.log(user.profile.email);
3}

এর ফলে অপ্রয়োজনীয় কোড কমে যায় এবং পড়ার সহজতা উন্নত হয়। এখানে, অপ্রয়োজনীয় কোড বলতে পুনরাবৃত্ত, মানকি-কৃত কোড বোঝানো হয়েছে যা প্রোগ্রামিংয়ে নির্দিষ্ট কাজ শেষ করতে প্রায়ই প্রয়োজন হয়।

কঠোর সমতা অপারেটর ব্যবহার করুন

টাইপস্ক্রিপ্ট কঠোর টাইপিং সমর্থন করে, এবং কঠোর সমতা (===) বা কঠোর অসমতা (!==) ব্যবহার করলে অনাকাঙ্খিত টাইপ জোরপূর্বক রূপান্তর প্রতিরোধ হয়।

খারাপ উদাহরণ:

1if (value == "123") {
2    console.log("Value is 123.");
3}

উন্নত উদাহরণ:

1if (value === "123") {
2    console.log("Value is 123.");
3}

স্পষ্ট শর্তের জন্য এনাম বা লিটারাল টাইপ ব্যবহার করুন

এনাম বা লিটারাল টাইপ ব্যবহার করলে শর্তগুলি পরিষ্কার হয় এবং ভুলের সম্ভাবনা কমে।

 1type Status = "success" | "error" | "loading";
 2
 3function displayMessage(status: Status) {
 4    if (status === "success") {
 5        console.log("Operation succeeded.");
 6    } else if (status === "error") {
 7        console.log("Operation failed.");
 8    } else {
 9        console.log("Loading...");
10    }
11}

প্রত্যাশিত মানগুলি নির্ধারণের মাধ্যমে, টাইপস্ক্রিপ্ট টাইপ সনাক্ত করতে পারে এবং সঠিকতা নিশ্চিত করতে পারে।

একই ধরনের শর্তগুলো একত্রিত করুন

যখন একাধিক শর্ত একই লজিক শেয়ার করে, তখন সেগুলোকে লজিক্যাল অপারেটর বা সুইচ স্টেটমেন্ট ব্যবহার করে একত্রিত করুন।

খারাপ উদাহরণ:

1if (role === "admin") {
2    grantAccess();
3}
4if (role === "superadmin") {
5    grantAccess();
6}

উন্নত উদাহরণ:

1if (role === "admin" || role === "superadmin") {
2    grantAccess();
3}

অন্যভাবে, একাধিক স্পষ্ট শাখা পরিচালনার জন্য সুইচ স্টেটমেন্ট ব্যবহার করুন:

 1switch (role) {
 2    case "admin":
 3    case "superadmin":
 4        grantAccess();
 5        break;
 6    case "user":
 7        console.log("Limited access.");
 8        break;
 9    default:
10        console.log("No access.");
11}

শর্তমূলক এক্সপ্রেশনগুলো জটিল করা এড়িয়ে চলুন

if স্টেটমেন্টে জটিল শর্তমূলক এক্সপ্রেশন পড়ার সুবিধা কমিয়ে দেয়। সেগুলোকে অর্থবোধক ভেরিয়েবল বা ফাংশনে আলাদা করুন।

খারাপ উদাহরণ:

1if (user.age > 18 && user.isAdmin && user.permissions.includes("write")) {
2    console.log("User can write.");
3}

উন্নত উদাহরণ:

1const isAdultAdminWithWriteAccess =
2    user.age > 18 && user.isAdmin && user.permissions.includes("write");
3
4if (isAdultAdminWithWriteAccess) {
5    console.log("User can write.");
6}

শর্তগুলোর নামকরণ স্পষ্টতা বৃদ্ধি করে এবং কোডকে স্বয়ং-ব্যাখ্যাযোগ্য করে তোলে।

সহজ শর্তগুলোর জন্য টার্নারি অপারেটর ব্যবহার করুন

সহজ শর্তের জন্য, টার্নারি অপারেটর ব্যবহার কোডকে সংক্ষিপ্ত করে তোলে।

উদাহরণ:

1const message = isLoggedIn ? "Welcome back!" : "Please log in.";
2console.log(message);

তবে, জটিল শর্তগুলোর জন্য টার্নারি অপারেটর ব্যবহার করা এড়িয়ে চলুন কারণ এটি পড়ার সুবিধা হ্রাস করে।

শর্তাধীন শাখাগুলিকে অ্যারে বা ম্যাপ দিয়ে প্রতিস্থাপন করুন

যখন শর্তটি সহজভাবে একটি মানগণের সঙ্গে সম্পর্কিত হয়, তখন অ্যারে বা ম্যাপ ব্যবহার করলে কোডের পাঠযোগ্যতা এবং রক্ষণাবেক্ষণযোগ্যতা উন্নত হতে পারে switch বিবৃতি বা জটিল if-else ব্লকের তুলনায়। টাইপস্ক্রিপ্টে, আপনি এটি আরও নিরাপদভাবে বাস্তবায়নের জন্য টাইপ তথ্যের সুবিধা নিতে পারেন।

খারাপ উদাহরণ:

 1function getDayName(day: number): string {
 2    switch (day) {
 3        case 0:
 4            return "Sunday";
 5        case 1:
 6            return "Monday";
 7        case 2:
 8            return "Tuesday";
 9        case 3:
10            return "Wednesday";
11        case 4:
12            return "Thursday";
13        case 5:
14            return "Friday";
15        case 6:
16            return "Saturday";
17        default:
18            return "Invalid day";
19    }
20}

উন্নত উদাহরণ: একটি অ্যারে ব্যবহার

 1function getDayName(day: number): string {
 2    const days = [
 3        "Sunday",
 4        "Monday",
 5        "Tuesday",
 6        "Wednesday",
 7        "Thursday",
 8        "Friday",
 9        "Saturday"
10    ];
11    return days[day] ?? "Invalid day";
12}

উন্নত উদাহরণ: একটি ম্যাপ ব্যবহার

 1function getDayName(day: number): string {
 2    const dayMap = new Map<number, string>([
 3        [0, "Sunday"],
 4        [1, "Monday"],
 5        [2, "Tuesday"],
 6        [3, "Wednesday"],
 7        [4, "Thursday"],
 8        [5, "Friday"],
 9        [6, "Saturday"]
10    ]);
11    return dayMap.get(day) ?? "Invalid day";
12}

উপসংহার

এই সেরা অভ্যাসগুলো অনুসরণ করে, আপনি TypeScript-এ if স্টেটমেন্টগুলো পরিষ্কার, কার্যকর এবং রক্ষণাবেক্ষণযোগ্য করতে পারেন। টাইপস্ক্রিপ্টের বৈশিষ্ট্য যেমন টাইপ গার্ড, optional chaining এবং enums ব্যবহার করে আপনি কোডের পাঠযোগ্যতা এবং শক্তি বৃদ্ধি করতে পারেন। সেরা অনুশীলন মেনে চলার মাধ্যমে, আপনি শর্তগুলোকে সংক্ষিপ্ত এবং পরিষ্কার রাখতে পারেন, যা কোডকে আরও সহজে বোঝা এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।

আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।

YouTube Video