মূল বিষয়বস্তুতে যান
ক্লিন কোড বাংলা

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

বাংলায় refactoring শেখো — Extract Method, Move Method, Replace Conditional সহ safe step-by-step code improvement।

61টা পাঠ · একটার পর একটা পড়ো, বা সরাসরি যেটা দরকার সেটায় যাও।

beginner

Extract Method: একটা বিশাল ফাংশনকে ছোট ছোট নামওয়ালা helper-এ ভাগ করো

Extract Method ধাপে ধাপে শিখে নাও।

23 মিনিটrefactoring · composing methods
beginner

Inline Method: যে Shortcut আসলে Shortcut ছিলই না

Inline Method শেখো ধাপে ধাপে।

19 মিনিটrefactoring · composing methods
beginner

Extract Variable: ছোট ছোট নামওয়ালা ধাপে বড় হিসাব সমাধান করো

Extract Variable শেখো ধাপে ধাপে। একটা বিশাল, জটিল expression কে ছোট ছোট নামওয়ালা অংশে ভাগ করো — ঠিক যেভাবে গণিতের খাতায় কাজ দেখাও।

21 মিনিটrefactoring · composing methods
beginner

Inline Temp: একবারই ব্যবহার করা রাফ নোটটা ছুঁড়ে ফেলো

Inline Temp রিফ্যাক্টরিং শেখো একটা মজার রাফ পেপারের গল্প দিয়ে — TypeScript আর C# উদাহরণ, নিরাপদ ধাপ, IDE shortcut, আর কখন variable inline করা উচিত না সেট…

21 মিনিটrefactoring · inline temp
beginner

Replace Temp with Query: তাজা জিজ্ঞেস করো, বাসি চিরকুটে ভরসা করো না

ক্যান্টিনের সিঙ্গারার গল্প দিয়ে Replace Temp with Query বোঝো — TypeScript আর C# উদাহরণ, নিরাপদ ধাপ, আর একটাই সত্যের উৎস।

22 মিনিটrefactoring · replace temp with query
beginner

Split Temporary Variable: একটা বালতি দুই কাজ করতে পারে না

দুই বালতির গল্প দিয়ে Split Temporary Variable শেখো — TypeScript ও C# উদাহরণ আর নিরাপদ ধাপ সহ। প্রতিটা variable-কে একটাই কাজ আর একটাই সৎ নাম দাও।

23 মিনিটrefactoring · split temporary variable
beginner

Remove Assignments to Parameters: ধার করা খাতায় কখনো লিখবে না

Remove Assignments to Parameters refactoring শিখো একটা ধার করা খাতার গল্পের মাধ্যমে — TypeScript আর C# উদাহরণ সহ, সহজ ধাপে ধাপে।

25 মিনিটrefactoring · remove assignments to parameters
beginner

Replace Method with Method Object: বড় রান্নার জন্য আলাদা স্টেশন বানাও

Replace Method with Method Object শেখো বিয়ের রান্নাঘরের গল্প দিয়ে — TypeScript ও C# উদাহরণ আর নিরাপদ ধাপ-ধাপ পদ্ধতি দিয়ে, একদম শুরু থেকে।

25 মিনিটrefactoring · replace method with method object
beginner

Substitute Algorithm: স্কুলে যাওয়ার নতুন সোজা রাস্তা

Substitute Algorithm রিফ্যাক্টরিং শেখো সাইকেলের রুটের গল্প দিয়ে — TypeScript আর Python উদাহরণ সহ, আর টেস্ট-ফার্স্ট নিরাপত্তার নিয়ম যেটা সব শিক্ষার্থীর জ…

25 মিনিটrefactoring · substitute algorithm
beginner

Move Method: কাজটা সেই class-এ নিয়ে যাও যেখানে সে আসলে থাকে

একটা স্কুলের গল্পের মাধ্যমে Move Method রিফ্যাক্টরিং শেখো।

22 মিনিটrefactorings · moving-features
beginner

Move Field: ডেটা রাখো যেখানে সে কাজে লাগে

Move Field শেখো একটা মজাদার স্কুলের গল্প দিয়ে। ডেটাকে সেই class-এ সরাও যেটা আসলে ওই ডেটা ব্যবহার করে, যাতে state আর behaviour একসাথে বাস করতে পারে।

21 মিনিটrefactorings · moving-features
beginner

Extract Class: অতিরিক্ত কাজে ডুবে যাওয়া class-কে একটু সাহায্য করো

Extract Class refactoring শেখো একটা মজার school office-এর গল্পের মাধ্যমে। একটা overloaded class-কে দুটো focused class-এ ভাগ করো — প্রতিটার একটাই কাজ।

21 মিনিটrefactorings · moving-features
beginner

Inline Class: যে Class কিছুই করে না, তাকে মিলিয়ে দাও

Inline Class refactoring শেখো একটা school committee-র গল্পের মাধ্যমে। যে class কিছুই করে না তাকে তার user-এর সাথে মিলিয়ে দাও আর অকারণ layer মুছে ফেলো।

19 মিনিটrefactorings · moving-features
beginner

Hide Delegate: মনিটরকে জিজ্ঞেস করো, মনিটর নিজেই দৌড়াবে

Hide Delegate রিফ্যাক্টরিং শেখো একটা মজার গল্পের মাধ্যমে। employee।

18 মিনিটrefactorings · hide-delegate
beginner

Remove Middle Man: পিয়ন শুধু ফরওয়ার্ড করলে, সরাসরি হেড স্যারের কাছে যাও

Remove Middle Man রিফ্যাক্টরিং শেখো একটা স্কুলের পিয়নের গল্প দিয়ে — যে প্রতিটা প্রশ্ন হেডমাস্টারের কাছে ফরওয়ার্ড করে, নিজে কিছু যোগ না করেই।

19 মিনিটrefactorings · remove-middle-man
beginner

Introduce Foreign Method: নিজের ব্যাগে রাখা স্ট্যাপলার

স্কুলের ফটোকপি মেশিনে স্ট্যাপলার নেই — এই গল্প দিয়ে Introduce Foreign Method শেখো।

18 মিনিটrefactorings · introduce-foreign-method
intermediate

Introduce Local Extension: ভাড়ার দোকানের পাশে নিজের কেবিন বানাও

Introduce Local Extension রিফ্যাক্টরিং শেখো একটা গল্পের মাধ্যমে — যেখানে ভাড়া করা দোকানের পাশে নিজের কেবিন বানানো হয় যেটা পরিবর্তন করা যায় না।

22 মিনিটrefactorings · introduce-local-extension
beginner

Self Encapsulate Field: একজন দারোয়ান তোমার ডেটা পাহারা দিক

Self Encapsulate Field সহজভাবে বোঝানো — একটা class কেন তার নিজের field পড়া ও লেখার জন্য getter এবং setter ব্যবহার করে, নিরাপদ ধাপ, TypeScript ও C# উদাহরণ…

21 মিনিটrefactoring · self encapsulate field
beginner

Replace Data Value with Object: তোমার Data-কে একটা নিজের ঘর দাও

Replace Data Value with Object সহজভাবে বোঝানো — কীভাবে একটা plain string বা number-কে validation আর behaviour সহ একটা ছোট class-এ রূপান্তর করতে হয়।

20 মিনিটrefactoring · replace data value with object
intermediate

Change Value to Reference: বিশটা ফটোকপি না, একটাই অফিস ফাইল

Change Value to Reference সহজ ভাষায় — একই entity-র ডুপ্লিকেট কপি কেন পুরনো হয়ে যায়, আর registry বা repository দিয়ে একটাই shared instance কীভাবে data c…

22 মিনিটrefactoring · change value to reference
intermediate

Change Reference to Value: যেকোনো ১০ টাকার নোটই সমান

Change Reference to Value সহজভাবে বোঝানো হয়েছে — একটা shared, mutable reference object-কে কীভাবে content-based equality সহ একটা ছোট immutable value objec…

23 মিনিটrefactoring · change reference to value
beginner

Replace Array with Object: প্রতিটি জায়গাকে একটা নাম দাও

Replace Array with Object সহজ ভাষায় — কেন row[0], row[1], row[2]-এর মতো গোপন position-ওয়ালা array bug তৈরি করে, আর কীভাবে named field সহ একটা class কোডক…

22 মিনিটrefactoring · replace array with object
beginner

Encapsulate Field: Object যেন নিজের ডেটা নিজে পাহারা দেয়

Encapsulate Field কী সেটা সহজ ভাষায় — কেন public field যেকোনো কোডকে object-এর ডেটা নষ্ট করতে দেয়, আর কীভাবে private field সাথে getter-setter দিয়ে objec…

22 মিনিটrefactoring · encapsulate field
intermediate

Encapsulate Collection: লাইভ লিস্ট বাইরে দেওয়া বন্ধ করো

Encapsulate Collection সহজ ভাষায় — কেন live array বা list return করলে যেকেউ তোমার object নষ্ট করে দিতে পারে, আর কীভাবে read-only view আর add/remove metho…

22 মিনিটrefactoring · encapsulate collection
beginner

Replace Type Code with Class: ম্যাজিক নম্বরকে একটা আসল পরিচয় দাও

Replace Type Code with Class রিফ্যাক্টরিং শেখো একটা স্কুলের গল্প দিয়ে — TypeScript আর C#-এ before/after দেখো, আর কখন Class, Subclasses বা State/Strategy…

22 মিনিটrefactoring · type code
beginner

Replace Type Code with Subclasses: যখন প্রতিটা ধরন সত্যিই আলাদা আচরণ করে

Replace Type Code with Subclasses refactoring শেখো ডে-স্কলার/বোর্ডার/হোস্টেলার গল্পের মাধ্যমে।

24 মিনিটrefactoring · type code
intermediate

Replace Type Code with State/Strategy: যখন Type নিজেই বদলে যায়

Replace Type Code with State/Strategy refactoring শেখো prepaid থেকে postpaid SIM-এর গল্পের মাধ্যমে — TypeScript আর C#-এ swappable plan object, আর কখন Clas…

23 মিনিটrefactoring · type code
beginner

Decompose Conditional: জটিল if-কে সহজ নামে ভেঙে ফেলো

Decompose Conditional refactoring শেখো স্কুলের নোটিশের গল্প দিয়ে — সহজ TypeScript ও C# উদাহরণ, নিরাপদ ধাপ, আর IDE shortcut সহ।

21 মিনিটrefactoring · simplifying conditionals
beginner

Consolidate Conditional Expression: অনেক ছোট চেক, একটাই পরিষ্কার প্রশ্ন

স্কুল গেটের গল্প দিয়ে Consolidate Conditional Expression শেখো — TypeScript আর C# উদাহরণ, নিরাপদ ধাপ, আর side-effect-এর ফাঁদ যেটা না জানলেই নয়।

19 মিনিটrefactoring · simplifying conditionals
beginner

Consolidate Duplicate Conditional Fragments: মিষ্টির কাউন্টারটা বাইরে নিয়ে যাও

ক্যান্টিনের গল্প দিয়ে Consolidate Duplicate Conditional Fragments refactoring শেখো — TypeScript আর C# example, safety rules, আর সহজ step-by-step practice।

18 মিনিটrefactoring · simplifying conditionals
beginner

Remove Control Flag: পেয়ে গেলেই থেমে যাও

Remove Control Flag refactoring শেখো একজন দারোয়ানের গল্পের মাধ্যমে।

21 মিনিটrefactoring · simplifying conditionals
beginner

Guard Clause দিয়ে Nested Conditional সরাও: Arrow সমান করো

Guard clause কী, কীভাবে nested if-else-এর arrow shape ভেঙে code সমান করা যায় — মসজিদের গেটের গল্পের মাধ্যমে TypeScript আর C#-এ step-by-step শেখো।

21 মিনিটrefactoring · guard clauses
intermediate

Replace Conditional with Polymorphism: প্রতিটি ধরনকে তার নিজের ডেস্ক দাও

Replace Conditional with Polymorphism রিফ্যাক্টরিং শেখো স্কুল রিসেপশনের গল্প দিয়ে — বারবার আসা type switch কীভাবে subclass-এ পরিণত হয়, TypeScript ও C#-এ।

22 মিনিটrefactoring · polymorphism
intermediate

Introduce Null Object: 'কিছু নেই' কে একটা ভদ্র প্রতিনিধি দাও

Introduce Null Object refactoring শেখো একটা school guardian card-এর গল্পের মাধ্যমে — Tony Hoare-এর billion-dollar mistake, ছড়িয়ে-ছিটিয়ে থাকা null check।

22 মিনিটrefactoring · null object pattern
intermediate

Introduce Assertion: পরিবেশনের আগে ডাল চেখে দেখো

Introduce Assertion রিফ্যাক্টরিং শেখো একটা সতর্ক রাঁধুনির গল্প দিয়ে — লুকানো assumption গুলো executable check-এ বদলানো, C#-এ Debug।

23 মিনিটrefactoring · assertions
beginner

Rename Method: দোকানের সাইনবোর্ড যেন সত্যি কথা বলে

Rename Method সহজভাবে বোঝানো — কেন method-এর নাম সত্যিটা বলতে হবে, কীভাবে নিরাপদে নাম বদলাতে হয় delegate পদ্ধতিতে, আর কীভাবে VS Code (F2) ও JetBrains (Sh…

21 মিনিটrefactoring · rename method
beginner

Add Parameter: অর্ডার স্লিপে একটা নতুন কলাম

Add Parameter সহজ ভাষায় — কীভাবে method-কে নতুন একটা তথ্য দিতে হয় যেটা সে এখন চাইছে, কেন explicit parameter গ্লোবাল state লুকিয়ে রাখার চেয়ে ভালো, over…

22 মিনিটrefactoring · add parameter
beginner

Remove Parameter: স্কুলের ফর্ম থেকে 'টেলিগ্রাম ঠিকানা' ঘরটা বাদ দাও

Remove Parameter সহজ ভাষায় — method আর যে parameter ব্যবহার করে না সেটা নিরাপদে কীভাবে মুছবে, মরা parameter গুলো পাঠককে কীভাবে বিভ্রান্ত করে আর প্রতিটা c…

21 মিনিটrefactoring · remove parameter
intermediate

Separate Query from Modifier: জিজ্ঞেস করলেই বিল বাড়ে না তো?

Separate Query from Modifier সহজ ভাষায় — যে method একসাথে question করে আর state বদলায়, সেটাকে ভেঙে দুটো করো: একটা pure query আর একটা আলাদা command।

22 মিনিটrefactoring · separate query from modifier
beginner

Parameterize Method: একটাই জুসের রেসিপি, শুধু সাইজটা দিয়ে দাও

জুসের দোকানের গল্পের মাধ্যমে Parameterize Method রিফ্যাক্টরিং শেখো — TypeScript আর C# উদাহরণ সহ, নিরাপদ ধাপে ধাপে mechanics, আর সেই সিস্যার নিয়ম যেটা Rep…

24 মিনিটrefactoring · parameterize method
beginner

Replace Parameter with Explicit Methods: গোপন কোড নয়, নামের বোর্ড লাগাও

Replace Parameter with Explicit Methods refactoring শেখো একটা ব্যাংক কাউন্টারের গল্পের মাধ্যমে — TypeScript আর Python উদাহরণ, safe mechanics, আর seesaw ru…

22 মিনিটrefactoring · replace parameter with explicit methods
beginner

Preserve Whole Object: পুরো ID Card দেখাও

Preserve Whole Object refactoring শেখো একটা school ID card-এর গল্প দিয়ে — TypeScript আর C# example সহ, safe step-by-step mechanics, আর object pass করলে c…

22 মিনিটrefactoring · preserve whole object
beginner

Replace Parameter with Method Call: দোকানদারকে তার নিজের দাম পড়ে শোনাতে যেও না

Replace Parameter with Method Call refactoring শেখো চায়ের দোকানের একটা মজার গল্পের মাধ্যমে — TypeScript আর C# উদাহরণসহ, নিরাপদ ধাপে ধাপে পদ্ধতি, আর testa…

23 মিনিটrefactoring · replace parameter with method call
beginner

Introduce Parameter Object: পাঁচটা আলাদা উত্তর না দিয়ে একটা ঠিকানা কার্ড দাও

Introduce Parameter Object সহজ ভাষায় — একই parameter গ্রুপ বারবার বিভিন্ন method-এ ঘুরে বেড়ানো আসলে একটা লুকানো concept-এর চিহ্ন।

21 মিনিটrefactoring · introduce parameter object
beginner

Remove Setting Method: কিছু জিনিস কলমে লেখা, পেন্সিলে না

Remove Setting Method সহজ ভাষায় — কেন এমন একটা field যেটা তৈরির পরে কখনো বদলানো উচিত না তার setter রাখা ঠিক না, আর কীভাবে read-only field, init-only prop…

23 মিনিটrefactoring · remove setting method
beginner

Hide Method: গোপন মশলা রান্নাঘরেই থাকে

Hide Method সহজ ভাষায় — যে method শুধু class নিজেই ব্যবহার করে সেটা public মেনুতে রাখা উচিত না কেন, আর visibility কমিয়ে private বা internal করলে API ছোট।

23 মিনিটrefactoring · hide method
beginner

Replace Constructor with Factory Method: নামে অর্ডার করো, রান্নাঘর ঠিক করুক

Replace Constructor with Factory Method রিফ্যাক্টরিং শেখো একটা ক্যান্টিনের গল্পের মাধ্যমে — before/after TypeScript ও C# কোড, নিরাপদ step-by-step migratio…

23 মিনিটrefactoring · factory method
beginner

Replace Error Code with Exception: ব্যর্থতাকে চুপিচুপি নয়, সরাসরি জানাও

Replace Error Code with Exception রিফ্যাক্টরিং শেখো একটা সরকারি অফিসের গল্পের মাধ্যমে — before/after TypeScript আর C# উদাহরণ, নিরাপদ migration ধাপ, আর Res…

25 মিনিটrefactoring · exceptions
beginner

Replace Exception with Test: ভেতরে ঢোকার আগে বোর্ড দেখো

Replace Exception with Test (Replace Exception with Precheck) refactoring শেখো — চায়ের দোকানের গল্প দিয়ে, before/after TypeScript আর C# code দিয়ে, TryP…

23 মিনিটrefactoring · exceptions
beginner

Pull Up Field: সবার জন্য একটাই নোটিশ বোর্ড

Pull Up Field refactoring শিখো একটা স্কুলের নোটিশ বোর্ডের গল্প দিয়ে — যে field প্রতিটা subclass-এ বারবার কপি হয়েছে সেটাকে superclass-এ তুলে দাও, TypeScr…

23 মিনিটrefactoring · pull up field
beginner

Pull Up Method: পুরো স্কুলের জন্য একটাই নির্দেশিকা

Pull Up Method refactoring শেখো স্কুলের ছুটির আবেদনের গল্পের মাধ্যমে — subclass-এ duplicate হয়ে যাওয়া method-গুলো superclass-এ তুলে আনো, TypeScript আর C…

24 মিনিটrefactoring · pull up method
beginner

Pull Up Constructor Body: একটাই সকালের রুটিন, তারপর নিজের কাজ

Pull Up Constructor Body refactoring শেখো school-এর সকালের রুটিনের গল্প দিয়ে — সব subclass constructor-এর শুরুতে যে duplicate initialization আছে, সেটা su…

22 মিনিটrefactoring · pull up constructor body
beginner

Push Down Field: সুইমিং পুলের সময়সূচি শুধু ৭সি-র বোর্ডেই লাগানো উচিত

Push Down Field refactoring শেখো একটা স্কুলের নোটিশ বোর্ডের গল্পের মাধ্যমে — superclass-এ থাকা কোনো field যদি শুধু কিছু subclass ব্যবহার করে, সেটাকে ঠিক স…

23 মিনিটrefactoring · push down field
beginner

Push Down Method: যে Method শুধু একটা Subclass ব্যবহার করে, সেটা সেখানে নামিয়ে দাও

Push Down Method শিখো একটা স্কুলের office গল্পের মাধ্যমে — superclass-এর সৎ contract, TypeScript আর C#-এ নিরাপদ ধাপে ধাপে move, আর কীভাবে এটা Refused Bequ…

21 মিনিটrefactoring · push down method
beginner

Extract Subclass: বিশেষ কেসটাকে তার নিজের class দাও

Extract Subclass শেখো একটা দর্জির দোকানের জরুরি অর্ডারের গল্পের মধ্যে দিয়ে — TypeScript আর C#-এ flag সরানোর পদ্ধতি, নিরাপদ ধাপে ধাপে কাজ, আর কখন subclass…

20 মিনিটrefactoring · extract subclass
beginner

Extract Superclass: দুটো যমজ class-এর জন্য একটাই সাধারণ নিয়মের বই

Extract Superclass refactoring শেখো সায়েন্স ল্যাব আর কম্পিউটার ল্যাবের গল্পের মাধ্যমে — TypeScript ও C#-এ pull-up move, superclass বনাম interface তুলনা ট…

22 মিনিটrefactoring · extract superclass
beginner

Extract Interface: একটাই ফর্ম, কিন্তু হাজার রকমের কর্মী

Extract Interface রিফ্যাক্টরিং শেখো — রহিম ইলেকট্রিশিয়ান আর করিম প্লাম্বারের গেটের রেজিস্টারের গল্প দিয়ে।

21 মিনিটrefactoring · extract interface
intermediate

Collapse Hierarchy: যখন Parent আর Child Class একই হয়ে যায়

একটা মহল্লার কমিটির গল্পের মাধ্যমে Collapse Hierarchy refactoring শেখো — TypeScript আর C#-এ superclass আর subclass মার্জ করার ধাপে ধাপে পদ্ধতি, আর কখন বুঝ…

22 মিনিটrefactoring · inheritance
intermediate

Form Template Method: একটা রেসিপি কার্ড, অনেক রকম বিরিয়ানি

দুই চাচির বিরিয়ানির গল্প দিয়ে Form Template Method রিফ্যাক্টরিং শেখো — TypeScript আর Python-এ shared algorithm skeleton বের করার ধাপে ধাপে পদ্ধতি, আর কী…

23 মিনিটrefactoring · template method
intermediate

Replace Inheritance with Delegation: কাউন্টার ভাড়া নাও, দোকান উত্তরাধিকারে নিও না

Replace Inheritance with Delegation রিফ্যাক্টরিং শেখো একটা মিষ্টির দোকানের গল্প দিয়ে — composition over inheritance-এর আসল মানে, fragile base class সমস্য…

25 মিনিটrefactoring · inheritance
intermediate

Replace Delegation with Inheritance: যখন সাহায্যকারীই হয়ে যায় শিক্ষানবিশ

Replace Delegation with Inheritance রিফ্যাক্টরিং শেখো একটা দর্জির দোকানের গল্পের মাধ্যমে — Middle Man smell কী, is-a শর্ত কীভাবে চেক করতে হয়, আর TypeScri…

25 মিনিটrefactoring · delegation