TypeScript:
রিফ্যাক্টরিং

কিভাবে:

একটি TypeScript ফাংশন বিবেচনা করুন যা আগের দিনগুলো থেকে ভালো ছিল - এটি একটু অগোছালো, এবং কিছু যত্ন ও মমতার প্রয়োজন:

function userInfo(data: any): string {
    return "User Info: " + data.name + ", " + data.age + ", " + data.email + ";" ;
}

রিফ্যাক্টরিং করা হলে, এটি দেখতে এরকম হবে:

interface User {
    name: string;
    age: number;
    email: string;
}

function formatUserInfo(user: User): string {
    return `User Info: ${user.name}, ${user.age}, ${user.email};`;
}

দ্বিতীয় উদাহরণটি আরও শক্তিশালী, TypeScript-এর টাইপ সিস্টেমকে interface-এর মাধ্যমে ব্যবহার করে, সম্ভাব্য রানটাইম ত্রুটিগুলি এড়ানো এবং পঠনযোগ্যতা উন্নতি করে।

গভীর অনুসন্ধান

রিফ্যাক্টরিং একটি আধুনিক ধারণা নয়; এটি প্রোগ্রামিং এর সাথে বিকশিত হয়েছে, ১৯৯৯ সালে মার্টিন ফাউলারের বই “Refactoring: Improving the Design of Existing Code” মুক্তি পাওয়ার সাথে সাথে আরও ঔপচারিক হয়ে উঠেছে। এটি একটি অজাইল ডেভেলপমেন্ট পরিবেশে অত্যন্ত জরুরী, অ্যাডাপ্টিভ কোড পরিবর্তনগুলিকে সহায়তা করে। ম্যানুয়াল রিফ্যাক্টরিংয়ের বিকল্পের মধ্যে TSLint বা TypeScript-এর নিজস্ব ভাষা সার্ভারের মতো অটোমেটেড যন্ত্রগুলি রয়েছে যা আপনার জন্য নির্দিষ্ট রিফ্যাক্টরিং কর্মকাণ্ডগুলি সুপারিশ বা এমনকি করতে পারে। বাস্তবায়নের বিস্তারিত সাধারণত “কোড গন্ধগুলি” চিনতে, যেমন ডুপ্লিকেট কোড, লম্বা পদ্ধতি, বা বড় ক্লাসগুলি চিনতে এবং রিফ্যাক্টরিংয়ের হাও এবং কেন বুঝতে প্যাটার্ন প্রয়োগ করা—যেমন পদ্ধতি বের করা, আরও উপযুক্ত ক্লাসগুলিতে সরানো, বা সরল কনস্ট্রাক্টগুলি ব্যবহার করা জড়িত। এই প্যাটার্নগুলি রিফ্যাক্টরিংয়ের হাও এবং কেন বুঝতে মূল বিষয়।

আরও দেখুন