<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Clean Code Mastery</title>
    <link>https://cleancodebangla.dosibridge.com/</link>
    <description>সহজ বাংলায় ক্লিন কোড শিখুন — ডিজাইন প্যাটার্ন, কোড স্মেল এবং রিফ্যাক্টরিং বাস্তব জীবনের গল্প, ডায়াগ্রাম ও প্রচুর কোড উদাহরণ দিয়ে।</description>
    <language>bn</language>
    <atom:link href="https://cleancodebangla.dosibridge.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Chain of Responsibility Pattern: যে যেটা পারে সে সামলাও, নইলে পাস করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/chain-of-responsibility/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/chain-of-responsibility/</guid>
      <description>Chain of Responsibility pattern শেখো একটা school leave application-এর গল্পের মাধ্যমে — সহজ TypeScript আর C# code, diagram, table, আর practice task সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Long Method: যখন একটা function সব কিছু করতে চায়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/long-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/long-method/</guid>
      <description>Long Method code smell শিখো সহজ গল্পের মাধ্যমে — TypeScript আর C# example সহ, Extract Method দিয়ে step-by-step refactoring। একদম beginner-friendly গাইড।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Factory Method Pattern: Branch নিজেই ঠিক করুক কোন Vehicle</title>
      <link>https://cleancodebangla.dosibridge.com/articles/creational-patterns/factory-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/creational-patterns/factory-method/</guid>
      <description>Factory Method design pattern শেখো রাহিমের টিফিন সার্ভিসের গল্পের মাধ্যমে — সহজ TypeScript আর C# code, diagram, real-world উদাহরণ, আর practice সহ।</description>
      <category>creational-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Extract Method: একটা বিশাল ফাংশনকে ছোট ছোট নামওয়ালা helper-এ ভাগ করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-method/</guid>
      <description>Extract Method ধাপে ধাপে শিখে নাও। একটা লম্বা ফাংশন থেকে এলোমেলো block বের করে তাকে একটা পরিষ্কার নাম দাও, আর তোমার কোডকে একটা সহজ to-do লিস্টের মতো পড়ার যোগ্য করে তোলো।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Adapter Pattern: চল্লিশ টাকার প্লাগ যা পুরনো আর নতুন কোডকে মিলিয়ে দেয়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/adapter/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/adapter/</guid>
      <description>একটা সহজ ৩-পিন প্লাগ আর ২-পিন সকেটের গল্পের মাধ্যমে Adapter pattern শিখো। কোনো পক্ষ না বদলেই পুরনো কোডকে নতুন কোডের সাথে কাজ করাও।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Command Pattern: প্রতিটি কাজকে একটি অর্ডার স্লিপে বদলে দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/command/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/command/</guid>
      <description>রেস্তোরাঁর অর্ডার স্লিপের গল্প দিয়ে Command pattern শেখো। TypeScript আর C#-এ undo ও redo সহ পুরো কোড, diagram, table, আর practice task।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Large Class: যে স্কুলের ব্যাগে সব কিছু থাকে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/large-class/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/large-class/</guid>
      <description>Large Class code smell কী সেটা বুঝো — কেন god class বড় হয়, low cohesion কীভাবে চেনা যায়, আর Extract Class দিয়ে কীভাবে ছোট ছোট focused class-এ ভাগ করা যায়।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Abstract Factory Pattern: এক অর্ডার, এক ম্যাচিং থালি</title>
      <link>https://cleancodebangla.dosibridge.com/articles/creational-patterns/abstract-factory/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/creational-patterns/abstract-factory/</guid>
      <description>বাংলাদেশি বিয়ের ক্যাটারিং গল্পের মাধ্যমে Abstract Factory design pattern বুঝে নাও — সহজ TypeScript ও Python কোড, diagram, আর practice সহ।</description>
      <category>creational-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Inline Method: যে Shortcut আসলে Shortcut ছিলই না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/inline-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/inline-method/</guid>
      <description>Inline Method শেখো ধাপে ধাপে। যখন একটা ছোট method-এর body তার নামের চেয়ে বেশি পরিষ্কার, তখন সেই body-টা সরাসরি caller-এ বসিয়ে দাও আর একটা বাড়তি hop সরিয়ে ফেলো।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Bridge Pattern: একটা রিমোট, অনেক ডিভাইস — subclass বিস্ফোরণ থামাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/bridge/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/bridge/</guid>
      <description>টিভি আর রিমোটের গল্প দিয়ে Bridge pattern শেখো। একটা বড় class কে দুই ভাগে ভেঙে আলাদাভাবে বাড়াও — বাড়তি subclass-এর ঝামেলা আর নেই।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Iterator Pattern: একে একে প্রতিটা element-এ যাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/iterator/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/iterator/</guid>
      <description>Iterator pattern শেখো ট্রেনের টিকেট চেকারের গল্প দিয়ে। TypeScript-এ custom iterator বানাও, for...of আর generator ব্যবহার করো, আর C#-এ IEnumerable দেখো।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Primitive Obsession: যখন সব কিছুই শুধু একটা string বা number</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/primitive-obsession/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/primitive-obsession/</guid>
      <description>Primitive Obsession সহজ ভাষায় — কেন plain string আর number bug লুকিয়ে রাখে, আর কীভাবে Money বা Address-এর মতো value object দিয়ে code-কে safe আর পরিষ্কার করা যায়।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Builder Pattern: একটু একটু করে বানাও, ওস্তাদ দর্জির মতো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/creational-patterns/builder/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/creational-patterns/builder/</guid>
      <description>ঢাকার একটা দর্জির দোকানের গল্পের মাধ্যমে Builder design pattern শেখো — fluent TypeScript ও C# কোড, telescoping constructor এর সমস্যা, আর practice টাস্কসহ।</description>
      <category>creational-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Extract Variable: ছোট ছোট নামওয়ালা ধাপে বড় হিসাব সমাধান করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-variable/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-variable/</guid>
      <description>Extract Variable শেখো ধাপে ধাপে। একটা বিশাল, জটিল expression কে ছোট ছোট নামওয়ালা অংশে ভাগ করো — ঠিক যেভাবে গণিতের খাতায় কাজ দেখাও।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Composite Pattern: বাক্সের ভেতরে বাক্স — একটা জিনিস আর অনেক জিনিসকে একই চোখে দেখো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/composite/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/composite/</guid>
      <description>কুরিয়ারের পার্সেলে বাক্সের ভেতরে বাক্সের উদাহরণ দিয়ে Composite pattern শেখো। একটা আইটেম আর পুরো গ্রুপকে একই interface দিয়ে ট্রিট করো, আর সহজ recursion দিয়ে মোট হিসাব বের করো।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Mediator Pattern: Control Tower যেটা ক্যাওস থামায়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/mediator/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/mediator/</guid>
      <description>বিমানবন্দরের control tower-এর গল্প দিয়ে Mediator pattern শেখো — সহজ TypeScript আর C# কোড, MediatR উদাহরণ, diagram, table আর practice task সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Long Parameter List: দশটা নির্দেশনার চায়ের অর্ডার</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/long-parameter-list/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/long-parameter-list/</guid>
      <description>Long Parameter List কোড স্মেল সহজ ভাষায় — কেন বেশি argument-এর method বাগ তৈরি করে, আর কীভাবে parameter object দিয়ে call ছোট, পরিষ্কার আর নিরাপদ করা যায়।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Prototype Pattern: জিরো থেকে না বানিয়ে ফটোকপি করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/creational-patterns/prototype/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/creational-patterns/prototype/</guid>
      <description>বিয়ের কার্ডের দোকানের গল্প দিয়ে Prototype design pattern শেখো — TypeScript আর Python-এর সহজ উদাহরণ, আর shallow vs deep copy-এর পরিষ্কার demo সহ।</description>
      <category>creational-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Inline Temp: একবারই ব্যবহার করা রাফ নোটটা ছুঁড়ে ফেলো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/inline-temp/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/inline-temp/</guid>
      <description>Inline Temp রিফ্যাক্টরিং শেখো একটা মজার রাফ পেপারের গল্প দিয়ে — TypeScript আর C# উদাহরণ, নিরাপদ ধাপ, IDE shortcut, আর কখন variable inline করা উচিত না সেটাসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Decorator Pattern: Object-এ একটা একটা করে Layer চাপাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/decorator/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/decorator/</guid>
      <description>চায়ের দোকানের এক মজার গল্প দিয়ে Decorator pattern শেখো। নতুন Subclass না বানিয়েই Runtime-এ Object-এ নতুন Behaviour যোগ করো — একটার পর একটা Layer Wrap করে।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Memento Pattern: বস ফাইটের আগে গেম সেভ করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/memento/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/memento/</guid>
      <description>ভিডিও গেমের save point-এর গল্প দিয়ে Memento pattern বোঝো — TypeScript আর Python-এ undo-র উদাহরণ, diagram, table আর সহজ practice task সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Data Clumps: যে বন্ধুরা সবসময় একসাথে ঘোরে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/data-clumps/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/data-clumps/</guid>
      <description>শিক্ষার্থীদের জন্য Data Clumps code smell — শেখো কীভাবে সবসময় একসাথে চলা value-এর গ্রুপ চেনা যায় আর সেগুলোকে একটা class-এ bundle করা যায়, ঠিক যেমন একটা student ID card।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Singleton Pattern: পুরো স্কুলে একজনই হেড স্যার</title>
      <link>https://cleancodebangla.dosibridge.com/articles/creational-patterns/singleton/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/creational-patterns/singleton/</guid>
      <description>স্কুলের হেড স্যারের গল্প দিয়ে Singleton design pattern বোঝো — সহজ TypeScript ও C# কোড, thread safety, আর কেন অনেক সিনিয়র ডেভেলপার এটাকে anti-pattern বলেন।</description>
      <category>creational-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Temp with Query: তাজা জিজ্ঞেস করো, বাসি চিরকুটে ভরসা করো না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-temp-with-query/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-temp-with-query/</guid>
      <description>ক্যান্টিনের সিঙ্গারার গল্প দিয়ে Replace Temp with Query বোঝো — TypeScript আর C# উদাহরণ, নিরাপদ ধাপ, আর একটাই সত্যের উৎস।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Facade Pattern: একটা ফোন কলেই পুরো জটিল ট্রিপ বুক</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/facade/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/facade/</guid>
      <description>ট্রাভেল এজেন্টের গল্প দিয়ে Facade pattern শেখো। অনেকগুলো জটিল subsystem-কে একটা সহজ method-এর পেছনে লুকিয়ে রাখো, যাতে client code ছোট আর পরিষ্কার থাকে।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Observer Pattern: Subscribe করো, Bell বাজাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/observer/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/observer/</guid>
      <description>Observer pattern শেখো YouTube subscribe আর bell icon-এর গল্প দিয়ে। TypeScript আর C#-এ event code, real software-এ ব্যবহার, diagram আর practice task সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Switch Statements: সেই রিসেপশনিস্ট আর তার বিশাল নিয়মের খাতা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/switch-statements/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/switch-statements/</guid>
      <description>Switch Statements code smell শেখো একটা school-এর গেটকিপারের গল্পের মাধ্যমে — TypeScript আর C#-এ duplicate switch-এর উদাহরণ সহ, আর কীভাবে polymorphism দিয়ে এটা ঠিক করবে।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Split Temporary Variable: একটা বালতি দুই কাজ করতে পারে না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/split-temporary-variable/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/split-temporary-variable/</guid>
      <description>দুই বালতির গল্প দিয়ে Split Temporary Variable শেখো — TypeScript ও C# উদাহরণ আর নিরাপদ ধাপ সহ। প্রতিটা variable-কে একটাই কাজ আর একটাই সৎ নাম দাও।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Flyweight Pattern: একটা জার্সি ডিজাইন, পুরো দলের খেলোয়াড়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/flyweight/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/flyweight/</guid>
      <description>ক্রিকেট জার্সির গল্প দিয়ে Flyweight pattern শেখো। হাজার হাজার object-এর মধ্যে ভারী common data শেয়ার করো আর বিশাল পরিমাণ memory বাঁচাও।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>State Pattern: একটা object-এর মেজাজ বদলানোর গল্প</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/state/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/state/</guid>
      <description>State design pattern শেখো সিলিং ফ্যানের রেগুলেটরের গল্প দিয়ে। সহজ TypeScript আর C# code, state diagram, আর real software-এর উদাহরণ সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Temporary Field: স্কুল ব্যাগে ক্রিকেট কিট</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/temporary-field/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/temporary-field/</guid>
      <description>Temporary Field কোড স্মেল শেখো একটা স্কুল ব্যাগের গল্পের মাধ্যমে — TypeScript আর C#-এ null-ভর্তি field দেখো এবং Extract Class দিয়ে ধাপে ধাপে ঠিক করো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Remove Assignments to Parameters: ধার করা খাতায় কখনো লিখবে না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-assignments-to-parameters/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-assignments-to-parameters/</guid>
      <description>Remove Assignments to Parameters refactoring শিখো একটা ধার করা খাতার গল্পের মাধ্যমে — TypeScript আর C# উদাহরণ সহ, সহজ ধাপে ধাপে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Proxy Pattern: দারোয়ান যে মালিকের সাথে দেখা করার আগেই চেক করে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/structural-patterns/proxy/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/structural-patterns/proxy/</guid>
      <description>দারোয়ানের গল্প দিয়ে Proxy pattern শেখো। একটা real object-এর সামনে same interface-এর একটা stand-in রেখে সেই object-এ access নিয়ন্ত্রণ করো।</description>
      <category>structural-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Strategy Pattern: সাইকেল, বাস, নাকি অটো — তুমিই ঠিক করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/strategy/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/strategy/</guid>
      <description>Strategy design pattern শেখো একটা সহজ স্কুলে যাওয়ার গল্পের মাধ্যমে — TypeScript আর C# কোড, runtime swapping, বাস্তব উদাহরণ, আর প্র্যাকটিস exercise সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Refused Bequest: যে ছেলে মিষ্টির দোকানের রেসিপি নিতে চায়নি</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/refused-bequest/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/refused-bequest/</guid>
      <description>Refused Bequest কোড স্মেল শেখো একটা পারিবারিক মিষ্টির দোকানের গল্পের মাধ্যমে — TypeScript ও C#-এ Liskov লঙ্ঘন আর delegation দিয়ে সমাধান ধাপে ধাপে।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Method with Method Object: বড় রান্নার জন্য আলাদা স্টেশন বানাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-method-with-method-object/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-method-with-method-object/</guid>
      <description>Replace Method with Method Object শেখো বিয়ের রান্নাঘরের গল্প দিয়ে — TypeScript ও C# উদাহরণ আর নিরাপদ ধাপ-ধাপ পদ্ধতি দিয়ে, একদম শুরু থেকে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Template Method Pattern: চা আর কফি, একই ধাপ</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/template-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/template-method/</guid>
      <description>চায়ের দোকানের গল্প দিয়ে Template Method design pattern শেখো — সহজ TypeScript আর C# কোড, hooks, diagram, বাস্তব উদাহরণ আর practice task সহ।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Alternative Classes with Different Interfaces: দুই টিফিন সার্ভিস, দুই ভাষা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/alternative-classes-with-different-interfaces/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/alternative-classes-with-different-interfaces/</guid>
      <description>একটা টিফিন ডেলিভারির গল্প দিয়ে শেখো এই code smell: দুটো class একই কাজ করে কিন্তু method নাম আলাদা, তাই একটাকে অন্যটার জায়গায় বসানো যায় না। ধাপে ধাপে ঠিক করা দেখো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Substitute Algorithm: স্কুলে যাওয়ার নতুন সোজা রাস্তা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/substitute-algorithm/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/substitute-algorithm/</guid>
      <description>Substitute Algorithm রিফ্যাক্টরিং শেখো সাইকেলের রুটের গল্প দিয়ে — TypeScript আর Python উদাহরণ সহ, আর টেস্ট-ফার্স্ট নিরাপত্তার নিয়ম যেটা সব শিক্ষার্থীর জানা দরকার।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Visitor Pattern: যে ডাক্তার প্রতিটি class-এ যায়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/visitor/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/behavioral-patterns/visitor/</guid>
      <description>স্কুলের health check-up গল্পের মাধ্যমে Visitor design pattern শেখো — double dispatch সহজ ভাষায়, TypeScript আর C# কোড, বাস্তব উদাহরণ, আর practice।</description>
      <category>behavioral-patterns</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Divergent Change: এক বেচারা কেরানি, অনেক বস</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/divergent-change/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/divergent-change/</guid>
      <description>Divergent Change code smell শেখো একটা school-এর কেরানির গল্পের মাধ্যমে — সহজ সংজ্ঞা, TypeScript ও C# example, Shotgun Surgery-র সাথে তুলনা, আর practice exercise।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Move Method: কাজটা সেই class-এ নিয়ে যাও যেখানে সে আসলে থাকে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/move-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/move-method/</guid>
      <description>একটা স্কুলের গল্পের মাধ্যমে Move Method রিফ্যাক্টরিং শেখো। যে class-এর data method-টা সবচেয়ে বেশি ব্যবহার করে, সেখানেই সরিয়ে নাও — যাতে behaviour আর data একসাথে থাকে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Shotgun Surgery: এক জায়গায় পরিবর্তন, দশ জায়গায় দৌড়াদৌড়ি</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/shotgun-surgery/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/shotgun-surgery/</guid>
      <description>Shotgun Surgery code smell শিখবে রুবেলের বাসা বদলের গল্পের মাধ্যমে — সহজ সংজ্ঞা, TypeScript আর C# এর example, Divergent Change এর সাথে পার্থক্য, আর practice সহ।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Move Field: ডেটা রাখো যেখানে সে কাজে লাগে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/move-field/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/move-field/</guid>
      <description>Move Field শেখো একটা মজাদার স্কুলের গল্প দিয়ে। ডেটাকে সেই class-এ সরাও যেটা আসলে ওই ডেটা ব্যবহার করে, যাতে state আর behaviour একসাথে বাস করতে পারে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Parallel Inheritance Hierarchies: প্রতিটা জিনিসের একটা ছায়া থাকে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/parallel-inheritance-hierarchies/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/parallel-inheritance-hierarchies/</guid>
      <description>Parallel Inheritance Hierarchies code smell শেখো একটা মিষ্টির দোকানের গল্পের মাধ্যমে — mirrored class tree কেন সমস্যা, TypeScript আর C# example দিয়ে কীভাবে fix করবে, আর কখন এটা রেখে দেওয়া ঠিক আছে।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Extract Class: অতিরিক্ত কাজে ডুবে যাওয়া class-কে একটু সাহায্য করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-class/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-class/</guid>
      <description>Extract Class refactoring শেখো একটা মজার school office-এর গল্পের মাধ্যমে। একটা overloaded class-কে দুটো focused class-এ ভাগ করো — প্রতিটার একটাই কাজ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Comments Smell: যখন স্টিকি নোট একটা এলোমেলো আলমারি লুকিয়ে রাখে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/comments/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/comments/</guid>
      <description>জানো কেন বেশি comment একটা code smell হতে পারে। ভালো WHY comment আর খারাপ WHAT comment-এর পার্থক্য বোঝো — স্টিকি নোটের আলমারির গল্প দিয়ে, সহজ উদাহরণ দিয়ে।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Inline Class: যে Class কিছুই করে না, তাকে মিলিয়ে দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/inline-class/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/inline-class/</guid>
      <description>Inline Class refactoring শেখো একটা school committee-র গল্পের মাধ্যমে। যে class কিছুই করে না তাকে তার user-এর সাথে মিলিয়ে দাও আর অকারণ layer মুছে ফেলো।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Duplicate Code: ৫০টা বিয়ের কার্ডে হাতে লেখা একই ঠিকানা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/duplicate-code/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/duplicate-code/</guid>
      <description>বিয়ের কার্ডের গল্প দিয়ে Duplicate Code smell বোঝো। DRY, Rule of Three, আর Extract Method দিয়ে copy-paste কোডের বিপদ থেকে বাঁচো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Hide Delegate: মনিটরকে জিজ্ঞেস করো, মনিটর নিজেই দৌড়াবে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/hide-delegate/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/hide-delegate/</guid>
      <description>Hide Delegate রিফ্যাক্টরিং শেখো একটা মজার গল্পের মাধ্যমে। employee.department.manager-এর মতো chain লেখা বন্ধ করো — প্রথম object-কে একটা সহজ method দাও আর ভেতরের জার্নি লুকিয়ে রাখো। TypeScript আর C#-এ ধাপে ধাপে উদাহরণসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Lazy Class: যে চাকরির কাজ শুধু একটা বাটন চাপা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/lazy-class/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/lazy-class/</guid>
      <description>Lazy Class code smell শিখো একটা মজার গল্পের মাধ্যমে। কোন class-গুলো টিকে থাকার যোগ্যতা রাখে না সেটা বুঝতে পারবে, আর Inline Class দিয়ে সেগুলো ঠিক করতে পারবে।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Remove Middle Man: পিয়ন শুধু ফরওয়ার্ড করলে, সরাসরি হেড স্যারের কাছে যাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-middle-man/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-middle-man/</guid>
      <description>Remove Middle Man রিফ্যাক্টরিং শেখো একটা স্কুলের পিয়নের গল্প দিয়ে — যে প্রতিটা প্রশ্ন হেডমাস্টারের কাছে ফরওয়ার্ড করে, নিজে কিছু যোগ না করেই। যখন একটা class শুধু delegate-কে call ফরওয়ার্ড করে, তখন সেই ফরওয়ার্ডিং মুছে দাও আর client-দের সরাসরি delegate-এর সাথে কথা বলতে দাও। TypeScript আর C#-এ ধাপে ধাপে walkthrough।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Data Class: নিয়মহীন রেজিস্টার — যে কেউ যা খুশি লিখে যায়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/data-class/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/data-class/</guid>
      <description>Data Class smell শেখো একটা society register-এর গল্পের মাধ্যমে। দেখো কেন behavior ছাড়া data encapsulation ভেঙে পড়ে, আর কখন DTO আর record একদম ঠিকঠাক।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introduce Foreign Method: নিজের ব্যাগে রাখা স্ট্যাপলার</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-foreign-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-foreign-method/</guid>
      <description>স্কুলের ফটোকপি মেশিনে স্ট্যাপলার নেই — এই গল্প দিয়ে Introduce Foreign Method শেখো। যে class তুমি বদলাতে পারছ না সেখানে method নেই? সেই method নিজের class-এ লিখো, foreign object-কে parameter হিসেবে নাও। TypeScript আর C# extension method-এর উদাহরণসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Dead Code: গুদামঘরে পুরনো জিনিস &apos;যদি লাগে&apos; বলে আটকে রাখা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/dead-code/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/dead-code/</guid>
      <description>Dead Code smell শেখো একটা গুদামঘরের গল্প দিয়ে। দেখো কেন না-চলা কোড আসলে টাকা আর সময় নষ্ট করে, Knight Capital-এর ৪৪০ মিলিয়ন ডলারের ঘটনা থেকে শিখো, আর সহজভাবে সমাধান করো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introduce Local Extension: ভাড়ার দোকানের পাশে নিজের কেবিন বানাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-local-extension/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-local-extension/</guid>
      <description>Introduce Local Extension রিফ্যাক্টরিং শেখো একটা গল্পের মাধ্যমে — যেখানে ভাড়া করা দোকানের পাশে নিজের কেবিন বানানো হয় যেটা পরিবর্তন করা যায় না। যখন একটা লক করা class-এ অনেক method নেই, সেগুলো একটা extension type-এ জড়ো করো — subclass, wrapper, বা আধুনিক C#/Kotlin extension class হিসেবে। TypeScript এবং C#-এ সম্পূর্ণ walkthrough।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Speculative Generality: যে সুইমিং পুলের জন্য পাইপ বসালে, পুলটাই হলো না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/speculative-generality/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/speculative-generality/</guid>
      <description>বাড়ি বানানোর গল্প দিয়ে Speculative Generality smell বোঝো। YAGNI কী, ভবিষ্যতের অনুমানে কোড লেখা কেন ক্ষতিকর, আর অব্যবহৃত abstraction কীভাবে সরাতে হয় — সব পরিষ্কার হয়ে যাবে।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Self Encapsulate Field: একজন দারোয়ান তোমার ডেটা পাহারা দিক</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/self-encapsulate-field/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/self-encapsulate-field/</guid>
      <description>Self Encapsulate Field সহজভাবে বোঝানো — একটা class কেন তার নিজের field পড়া ও লেখার জন্য getter এবং setter ব্যবহার করে, নিরাপদ ধাপ, TypeScript ও C# উদাহরণসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Feature Envy: যে method সারাদিন অন্যের class-এ বসে থাকে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/feature-envy/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/feature-envy/</guid>
      <description>Feature Envy code smell শেখো একটা সহজ স্কুলের গল্পের মাধ্যমে। যখন একটা method নিজের class-এর চেয়ে অন্য class-এর data বেশি ব্যবহার করে, তখন সেটা আসলে ওই অন্য class-এই থাকার কথা। সারানোর উপায় হলো Move Method।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Data Value with Object: তোমার Data-কে একটা নিজের ঘর দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-data-value-with-object/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-data-value-with-object/</guid>
      <description>Replace Data Value with Object সহজভাবে বোঝানো — কীভাবে একটা plain string বা number-কে validation আর behaviour সহ একটা ছোট class-এ রূপান্তর করতে হয়। TypeScript আর C# record-এর উদাহরণ দিয়ে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Inappropriate Intimacy: দুটো class যারা একে অপরের রান্নাঘরে ঢুকে পড়ে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/inappropriate-intimacy/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/inappropriate-intimacy/</guid>
      <description>দুই প্রতিবেশীর গল্প দিয়ে Inappropriate Intimacy বোঝো — যারা একে অপরের রান্নাঘর সাজিয়ে দেয়। দুটো class যখন একে অপরের private অংশে হাত দেয়, তখন কেউ একা কিছু বদলাতে পারে না। Law of Demeter আর privacy ফিরিয়ে আনার refactoring শেখো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Change Value to Reference: বিশটা ফটোকপি না, একটাই অফিস ফাইল</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/change-value-to-reference/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/change-value-to-reference/</guid>
      <description>Change Value to Reference সহজ ভাষায় — একই entity-র ডুপ্লিকেট কপি কেন পুরনো হয়ে যায়, আর registry বা repository দিয়ে একটাই shared instance কীভাবে data consistent রাখে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Message Chains: বন্ধুকে জিজ্ঞেস করো, সে কাজিনকে জিজ্ঞেস করে, কাজিন চাচাকে জিজ্ঞেস করে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/message-chains/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/message-chains/</guid>
      <description>Message Chains code smell শেখো একটা মজার গল্পের মাধ্যমে — রুটি আছে কিনা জানতে চারজন মানুষের মধ্য দিয়ে যেতে হয়। a.getB().getC().getD() লিখলে caller পুরো রাস্তার সাথে coupled হয়ে যায়। Law of Demeter কী, আর Hide Delegate দিয়ে কীভাবে chain ঠিক করতে হয় সেটা শেখো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Change Reference to Value: যেকোনো ১০ টাকার নোটই সমান</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/change-reference-to-value/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/change-reference-to-value/</guid>
      <description>Change Reference to Value সহজভাবে বোঝানো হয়েছে — একটা shared, mutable reference object-কে কীভাবে content-based equality সহ একটা ছোট immutable value object-এ রূপান্তর করতে হয়, TypeScript আর C# record-এর উদাহরণসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Middle Man: যে helper শুধু তোমার message পৌঁছে দেয়, নিজে কিছু করে না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/code-smells/middle-man/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/code-smells/middle-man/</guid>
      <description>Middle Man code smell টা বোঝো একটা school-এর সেই পিয়নের গল্প দিয়ে — যে শুধু চিরকুট বহন করে, নিজে কিছু যোগ করে না। যখন একটা class শুধু সব call forward করে, সেটা সরিয়ে দাও। কিন্তু Proxy, Facade, আর Adapter কেন জেনেশুনে middle man হয় — সেটাও জানো।</description>
      <category>code-smells</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Array with Object: প্রতিটি জায়গাকে একটা নাম দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-array-with-object/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-array-with-object/</guid>
      <description>Replace Array with Object সহজ ভাষায় — কেন row[0], row[1], row[2]-এর মতো গোপন position-ওয়ালা array bug তৈরি করে, আর কীভাবে named field সহ একটা class কোডকে সৎ আর নিরাপদ করে তোলে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Encapsulate Field: Object যেন নিজের ডেটা নিজে পাহারা দেয়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/encapsulate-field/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/encapsulate-field/</guid>
      <description>Encapsulate Field কী সেটা সহজ ভাষায় — কেন public field যেকোনো কোডকে object-এর ডেটা নষ্ট করতে দেয়, আর কীভাবে private field সাথে getter-setter দিয়ে object নিজেই সব নিয়ন্ত্রণ করে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Encapsulate Collection: লাইভ লিস্ট বাইরে দেওয়া বন্ধ করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/encapsulate-collection/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/encapsulate-collection/</guid>
      <description>Encapsulate Collection সহজ ভাষায় — কেন live array বা list return করলে যেকেউ তোমার object নষ্ট করে দিতে পারে, আর কীভাবে read-only view আর add/remove method দিয়ে নিয়ন্ত্রণ ফিরিয়ে আনা যায়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Type Code with Class: ম্যাজিক নম্বরকে একটা আসল পরিচয় দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-type-code-with-class/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-type-code-with-class/</guid>
      <description>Replace Type Code with Class রিফ্যাক্টরিং শেখো একটা স্কুলের গল্প দিয়ে — TypeScript আর C#-এ before/after দেখো, আর কখন Class, Subclasses বা State/Strategy বেছে নেবে সেটা একটা সহজ decision table দিয়ে বুঝে নাও।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Type Code with Subclasses: যখন প্রতিটা ধরন সত্যিই আলাদা আচরণ করে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-type-code-with-subclasses/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-type-code-with-subclasses/</guid>
      <description>Replace Type Code with Subclasses refactoring শেখো ডে-স্কলার/বোর্ডার/হোস্টেলার গল্পের মাধ্যমে। TypeScript আর C#-এ switch কীভাবে মুছে যায়, আর Class vs Subclasses vs State/Strategy — কোনটা কখন নেবে সেটাও বুঝবে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Type Code with State/Strategy: যখন Type নিজেই বদলে যায়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-type-code-with-state-strategy/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-type-code-with-state-strategy/</guid>
      <description>Replace Type Code with State/Strategy refactoring শেখো prepaid থেকে postpaid SIM-এর গল্পের মাধ্যমে — TypeScript আর C#-এ swappable plan object, আর কখন Class vs Subclasses vs State/Strategy বেছে নেবে তার পুরো guide।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Decompose Conditional: জটিল if-কে সহজ নামে ভেঙে ফেলো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/decompose-conditional/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/decompose-conditional/</guid>
      <description>Decompose Conditional refactoring শেখো স্কুলের নোটিশের গল্প দিয়ে — সহজ TypeScript ও C# উদাহরণ, নিরাপদ ধাপ, আর IDE shortcut সহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Consolidate Conditional Expression: অনেক ছোট চেক, একটাই পরিষ্কার প্রশ্ন</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/consolidate-conditional-expression/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/consolidate-conditional-expression/</guid>
      <description>স্কুল গেটের গল্প দিয়ে Consolidate Conditional Expression শেখো — TypeScript আর C# উদাহরণ, নিরাপদ ধাপ, আর side-effect-এর ফাঁদ যেটা না জানলেই নয়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Consolidate Duplicate Conditional Fragments: মিষ্টির কাউন্টারটা বাইরে নিয়ে যাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/consolidate-duplicate-conditional-fragments/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/consolidate-duplicate-conditional-fragments/</guid>
      <description>ক্যান্টিনের গল্প দিয়ে Consolidate Duplicate Conditional Fragments refactoring শেখো — TypeScript আর C# example, safety rules, আর সহজ step-by-step practice।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Remove Control Flag: পেয়ে গেলেই থেমে যাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-control-flag/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-control-flag/</guid>
      <description>Remove Control Flag refactoring শেখো একজন দারোয়ানের গল্পের মাধ্যমে। TypeScript আর C# এর উদাহরণ দিয়ে বুঝবে break আর return কীভাবে control flag-এর জায়গা নেয়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Guard Clause দিয়ে Nested Conditional সরাও: Arrow সমান করো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-nested-conditional-with-guard-clauses/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-nested-conditional-with-guard-clauses/</guid>
      <description>Guard clause কী, কীভাবে nested if-else-এর arrow shape ভেঙে code সমান করা যায় — মসজিদের গেটের গল্পের মাধ্যমে TypeScript আর C#-এ step-by-step শেখো।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Conditional with Polymorphism: প্রতিটি ধরনকে তার নিজের ডেস্ক দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-conditional-with-polymorphism/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-conditional-with-polymorphism/</guid>
      <description>Replace Conditional with Polymorphism রিফ্যাক্টরিং শেখো স্কুল রিসেপশনের গল্প দিয়ে — বারবার আসা type switch কীভাবে subclass-এ পরিণত হয়, TypeScript ও C#-এ factory কীভাবে কাজ করে, আর কখন সাধারণ switch রেখে দেওয়াই ভালো সেটাও বুঝবে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introduce Null Object: &apos;কিছু নেই&apos; কে একটা ভদ্র প্রতিনিধি দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-null-object/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-null-object/</guid>
      <description>Introduce Null Object refactoring শেখো একটা school guardian card-এর গল্পের মাধ্যমে — Tony Hoare-এর billion-dollar mistake, ছড়িয়ে-ছিটিয়ে থাকা null check গুলো, আর কীভাবে একটা ভদ্র default object সব সামলে নেয়। আর কখন null object আসলে bug লুকিয়ে ফেলতে পারে সেটাও জানবে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introduce Assertion: পরিবেশনের আগে ডাল চেখে দেখো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-assertion/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-assertion/</guid>
      <description>Introduce Assertion রিফ্যাক্টরিং শেখো একটা সতর্ক রাঁধুনির গল্প দিয়ে — লুকানো assumption গুলো executable check-এ বদলানো, C#-এ Debug.Assert আর TypeScript-এ asserts function, আর assertion আর input validation-এর মধ্যে আসল পার্থক্যটা।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Rename Method: দোকানের সাইনবোর্ড যেন সত্যি কথা বলে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/rename-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/rename-method/</guid>
      <description>Rename Method সহজভাবে বোঝানো — কেন method-এর নাম সত্যিটা বলতে হবে, কীভাবে নিরাপদে নাম বদলাতে হয় delegate পদ্ধতিতে, আর কীভাবে VS Code (F2) ও JetBrains (Shift+F6) দিয়ে এটা এক কীতেই সারা যায়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Add Parameter: অর্ডার স্লিপে একটা নতুন কলাম</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/add-parameter/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/add-parameter/</guid>
      <description>Add Parameter সহজ ভাষায় — কীভাবে method-কে নতুন একটা তথ্য দিতে হয় যেটা সে এখন চাইছে, কেন explicit parameter গ্লোবাল state লুকিয়ে রাখার চেয়ে ভালো, overload দিয়ে নিরাপদে কীভাবে করবে, আর কখন থামতে হবে যাতে parameter list বেশি বড় না হয়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Remove Parameter: স্কুলের ফর্ম থেকে &apos;টেলিগ্রাম ঠিকানা&apos; ঘরটা বাদ দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-parameter/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-parameter/</guid>
      <description>Remove Parameter সহজ ভাষায় — method আর যে parameter ব্যবহার করে না সেটা নিরাপদে কীভাবে মুছবে, মরা parameter গুলো পাঠককে কীভাবে বিভ্রান্ত করে আর প্রতিটা caller-কে বাড়তি কাজ করায়, আর মুছে ফেলার আগে কী কী চেক করতে হবে (interface, override, reflection)।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Separate Query from Modifier: জিজ্ঞেস করলেই বিল বাড়ে না তো?</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/separate-query-from-modifier/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/separate-query-from-modifier/</guid>
      <description>Separate Query from Modifier সহজ ভাষায় — যে method একসাথে question করে আর state বদলায়, সেটাকে ভেঙে দুটো করো: একটা pure query আর একটা আলাদা command। Bertrand Meyer-এর Command-Query Separation (CQS) principle অনুযায়ী: question করলে answer বদলানো উচিত না।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Parameterize Method: একটাই জুসের রেসিপি, শুধু সাইজটা দিয়ে দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/parameterize-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/parameterize-method/</guid>
      <description>জুসের দোকানের গল্পের মাধ্যমে Parameterize Method রিফ্যাক্টরিং শেখো — TypeScript আর C# উদাহরণ সহ, নিরাপদ ধাপে ধাপে mechanics, আর সেই সিস্যার নিয়ম যেটা Replace Parameter with Explicit Methods-এর সাথে জুটি বাঁধে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Parameter with Explicit Methods: গোপন কোড নয়, নামের বোর্ড লাগাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-parameter-with-explicit-methods/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-parameter-with-explicit-methods/</guid>
      <description>Replace Parameter with Explicit Methods refactoring শেখো একটা ব্যাংক কাউন্টারের গল্পের মাধ্যমে — TypeScript আর Python উদাহরণ, safe mechanics, আর seesaw rule যেটা Parameterize Method-এর সাথে এর সম্পর্ক বোঝায়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Preserve Whole Object: পুরো ID Card দেখাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/preserve-whole-object/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/preserve-whole-object/</guid>
      <description>Preserve Whole Object refactoring শেখো একটা school ID card-এর গল্প দিয়ে — TypeScript আর C# example সহ, safe step-by-step mechanics, আর object pass করলে coupling বাড়ে কিনা সেটার সৎ আলোচনা।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Parameter with Method Call: দোকানদারকে তার নিজের দাম পড়ে শোনাতে যেও না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-parameter-with-method-call/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-parameter-with-method-call/</guid>
      <description>Replace Parameter with Method Call refactoring শেখো চায়ের দোকানের একটা মজার গল্পের মাধ্যমে — TypeScript আর C# উদাহরণসহ, নিরাপদ ধাপে ধাপে পদ্ধতি, আর testability-র সৎ হিসাব।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introduce Parameter Object: পাঁচটা আলাদা উত্তর না দিয়ে একটা ঠিকানা কার্ড দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-parameter-object/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/introduce-parameter-object/</guid>
      <description>Introduce Parameter Object সহজ ভাষায় — একই parameter গ্রুপ বারবার বিভিন্ন method-এ ঘুরে বেড়ানো আসলে একটা লুকানো concept-এর চিহ্ন। সেগুলো একটা named object-এ bundle করলে signature ছোট হয়, order ভুল বন্ধ হয়, আর behaviour এসে জুটে যায়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Remove Setting Method: কিছু জিনিস কলমে লেখা, পেন্সিলে না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-setting-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/remove-setting-method/</guid>
      <description>Remove Setting Method সহজ ভাষায় — কেন এমন একটা field যেটা তৈরির পরে কখনো বদলানো উচিত না তার setter রাখা ঠিক না, আর কীভাবে read-only field, init-only property, আর record দিয়ে &apos;এটা বদলিও না&apos; কথাটাকে compiler-এর গ্যারান্টিতে বদলানো যায়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Hide Method: গোপন মশলা রান্নাঘরেই থাকে</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/hide-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/hide-method/</guid>
      <description>Hide Method সহজ ভাষায় — যে method শুধু class নিজেই ব্যবহার করে সেটা public মেনুতে রাখা উচিত না কেন, আর visibility কমিয়ে private বা internal করলে API ছোট হয়, ভেতরের জিনিস সুরক্ষিত থাকে, আর ভয় ছাড়াই code বদলানো যায়।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Constructor with Factory Method: নামে অর্ডার করো, রান্নাঘর ঠিক করুক</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-constructor-with-factory-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-constructor-with-factory-method/</guid>
      <description>Replace Constructor with Factory Method রিফ্যাক্টরিং শেখো একটা ক্যান্টিনের গল্পের মাধ্যমে — before/after TypeScript ও C# কোড, নিরাপদ step-by-step migration, আর Factory Method ডিজাইন প্যাটার্নের সাথে পরিষ্কার তুলনা।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Error Code with Exception: ব্যর্থতাকে চুপিচুপি নয়, সরাসরি জানাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-error-code-with-exception/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-error-code-with-exception/</guid>
      <description>Replace Error Code with Exception রিফ্যাক্টরিং শেখো একটা সরকারি অফিসের গল্পের মাধ্যমে — before/after TypeScript আর C# উদাহরণ, নিরাপদ migration ধাপ, আর Result type-এর সাথে সৎ তুলনাসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Exception with Test: ভেতরে ঢোকার আগে বোর্ড দেখো</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-exception-with-test/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-exception-with-test/</guid>
      <description>Replace Exception with Test (Replace Exception with Precheck) refactoring শেখো — চায়ের দোকানের গল্প দিয়ে, before/after TypeScript আর C# code দিয়ে, TryParse-style pattern দিয়ে, check-then-act race condition trap দিয়ে, আর modern তৃতীয় পথ হিসেবে Result type দিয়ে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Pull Up Field: সবার জন্য একটাই নোটিশ বোর্ড</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/pull-up-field/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/pull-up-field/</guid>
      <description>Pull Up Field refactoring শিখো একটা স্কুলের নোটিশ বোর্ডের গল্প দিয়ে — যে field প্রতিটা subclass-এ বারবার কপি হয়েছে সেটাকে superclass-এ তুলে দাও, TypeScript আর C#-এ নিরাপদ ধাপ, IDE সাপোর্ট, আর pull-up বনাম push-down কোনটা কখন করবে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Pull Up Method: পুরো স্কুলের জন্য একটাই নির্দেশিকা</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/pull-up-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/pull-up-method/</guid>
      <description>Pull Up Method refactoring শেখো স্কুলের ছুটির আবেদনের গল্পের মাধ্যমে — subclass-এ duplicate হয়ে যাওয়া method-গুলো superclass-এ তুলে আনো, TypeScript আর C#-এ safe steps সহ, IDE dialog আর কখন Form Template Method বেছে নেবে সেটাসহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Pull Up Constructor Body: একটাই সকালের রুটিন, তারপর নিজের কাজ</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/pull-up-constructor-body/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/pull-up-constructor-body/</guid>
      <description>Pull Up Constructor Body refactoring শেখো school-এর সকালের রুটিনের গল্প দিয়ে — সব subclass constructor-এর শুরুতে যে duplicate initialization আছে, সেটা superclass constructor-এ তুলে নাও আর super/base দিয়ে call করো।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Push Down Field: সুইমিং পুলের সময়সূচি শুধু ৭সি-র বোর্ডেই লাগানো উচিত</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/push-down-field/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/push-down-field/</guid>
      <description>Push Down Field refactoring শেখো একটা স্কুলের নোটিশ বোর্ডের গল্পের মাধ্যমে — superclass-এ থাকা কোনো field যদি শুধু কিছু subclass ব্যবহার করে, সেটাকে ঠিক সেই subclass-এ নামিয়ে দাও। TypeScript আর C#-এ নিরাপদ ধাপ, IDE dialog, আর pull-up বনাম push-down compass সহ।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Push Down Method: যে Method শুধু একটা Subclass ব্যবহার করে, সেটা সেখানে নামিয়ে দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/push-down-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/push-down-method/</guid>
      <description>Push Down Method শিখো একটা স্কুলের office গল্পের মাধ্যমে — superclass-এর সৎ contract, TypeScript আর C#-এ নিরাপদ ধাপে ধাপে move, আর কীভাবে এটা Refused Bequest smell ঠিক করে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Extract Subclass: বিশেষ কেসটাকে তার নিজের class দাও</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-subclass/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-subclass/</guid>
      <description>Extract Subclass শেখো একটা দর্জির দোকানের জরুরি অর্ডারের গল্পের মধ্যে দিয়ে — TypeScript আর C#-এ flag সরানোর পদ্ধতি, নিরাপদ ধাপে ধাপে কাজ, আর কখন subclassing ভুল সিদ্ধান্ত সেটাও বুঝবে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Extract Superclass: দুটো যমজ class-এর জন্য একটাই সাধারণ নিয়মের বই</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-superclass/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-superclass/</guid>
      <description>Extract Superclass refactoring শেখো সায়েন্স ল্যাব আর কম্পিউটার ল্যাবের গল্পের মাধ্যমে — TypeScript ও C#-এ pull-up move, superclass বনাম interface তুলনা টেবিল, এবং কীভাবে এটা Duplicate Code দূর করে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Extract Interface: একটাই ফর্ম, কিন্তু হাজার রকমের কর্মী</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-interface/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/extract-interface/</guid>
      <description>Extract Interface রিফ্যাক্টরিং শেখো — রহিম ইলেকট্রিশিয়ান আর করিম প্লাম্বারের গেটের রেজিস্টারের গল্প দিয়ে। TypeScript আর C#-এ contract বের করা, test double বানানো, আর interface বনাম superclass কখন কোনটা বেছে নেবে সেই decision table।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Collapse Hierarchy: যখন Parent আর Child Class একই হয়ে যায়</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/collapse-hierarchy/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/collapse-hierarchy/</guid>
      <description>একটা মহল্লার কমিটির গল্পের মাধ্যমে Collapse Hierarchy refactoring শেখো — TypeScript আর C#-এ superclass আর subclass মার্জ করার ধাপে ধাপে পদ্ধতি, আর কখন বুঝবে একটা hierarchy আর কাজে আসছে না।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Form Template Method: একটা রেসিপি কার্ড, অনেক রকম বিরিয়ানি</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/form-template-method/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/form-template-method/</guid>
      <description>দুই চাচির বিরিয়ানির গল্প দিয়ে Form Template Method রিফ্যাক্টরিং শেখো — TypeScript আর Python-এ shared algorithm skeleton বের করার ধাপে ধাপে পদ্ধতি, আর কীভাবে এই রিফ্যাক্টরিং Template Method design pattern তৈরি করে।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Inheritance with Delegation: কাউন্টার ভাড়া নাও, দোকান উত্তরাধিকারে নিও না</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-inheritance-with-delegation/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-inheritance-with-delegation/</guid>
      <description>Replace Inheritance with Delegation রিফ্যাক্টরিং শেখো একটা মিষ্টির দোকানের গল্প দিয়ে — composition over inheritance-এর আসল মানে, fragile base class সমস্যা, আর TypeScript ও C#-এ ধাপে ধাপে রূপান্তর।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Replace Delegation with Inheritance: যখন সাহায্যকারীই হয়ে যায় শিক্ষানবিশ</title>
      <link>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-delegation-with-inheritance/</link>
      <guid>https://cleancodebangla.dosibridge.com/articles/refactorings/replace-delegation-with-inheritance/</guid>
      <description>Replace Delegation with Inheritance রিফ্যাক্টরিং শেখো একটা দর্জির দোকানের গল্পের মাধ্যমে — Middle Man smell কী, is-a শর্ত কীভাবে চেক করতে হয়, আর TypeScript ও C#-এ ধাপে ধাপে কীভাবে করতে হয় সব বিস্তারিত দেখো।</description>
      <category>refactorings</category>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>