প্রোগ্রামার হিসাবে আমি মনে করি যে আমাদের লক্ষ্য প্রদত্ত ডোমেন মডেল এবং ব্যবসায়িক যুক্তিতে ভাল বিমূর্ততা সরবরাহ করা। তবে এই বিমূর্ততা কোথায় থামানো উচিত? কীভাবে বিমূর্ততা এবং এটির সমস্ত সুবিধা (নমনীয়তা, পরিবর্তনের স্বাচ্ছন্দ্য ইত্যাদি) এবং কোড এবং এটির সমস্ত সুবিধাগুলি বোঝার স্বাচ্ছন্দ্যের মধ্যে কীভাবে বাণিজ্য বন্ধ করা যায় ।
আমি বিশ্বাস করি যে আমি অত্যধিক বিমূর্ত কোড লিখি এবং আমি জানি না এটি কতটা ভাল; আমি প্রায়শই এটি লেখার প্রবণতা রাখি যেমন এটি কোনও ধরণের মাইক্রো কাঠামো, যা দুটি অংশ নিয়ে গঠিত:
- মাইক্রো-মডিউলগুলি যা মাইক্রো ফ্রেমওয়ার্কে আবদ্ধ হয়: এই মডিউলগুলি বোঝা সহজ, বিকাশিত এবং একক ইউনিট হিসাবে বজায় রাখা সহজ। এই কোডটি মূলত সেই কোডটি উপস্থাপন করে যা প্রয়োজনীয়ত বর্ণিত কার্যকরী স্টাফগুলি করে।
- সংযোগ কোড; এখন এখানে আমি বিশ্বাস করি যে সমস্যা রয়েছে। এই কোডটি জটিল হতে থাকে কারণ এটি কখনও কখনও খুব বিমূর্ত হয় এবং শুরুতে এটি বোঝা শক্ত হয়; এটি কেবল খাঁটি বিমূর্ততা, বাস্তবতার ভিত্তি এবং ব্যবসায়িক যুক্তিটির ভিত্তিটি 1 উপস্থাপিত কোডটিতে সম্পাদিত হওয়ার কারণে উত্থিত হয়; এই কারণে পরীক্ষা করা হলে এই কোডটি পরিবর্তন করা হবে বলে আশা করা যায় না।
এটা কি প্রোগ্রামিং এ ভাল পন্থা? এটি হ'ল, অনেকগুলি মডিউলগুলিতে কোডটি খুব টুকরো টুকরো হয়ে গেছে এবং খুব সহজেই বোঝা যায় এবং পরিবর্তনযোগ্য কোডটি বিমূর্ত পিওভ থেকে জটিল? সমস্ত কোডটি কি সমান জটিল হওয়া উচিত (এটি কোড 1 আরও জটিল এবং আন্তঃসংযোগযুক্ত এবং কোড 2 আরও সাধারণ) যাতে এটির মাধ্যমে অনুসন্ধান করা যে কেউ এটি একটি যুক্তিসঙ্গত সময়ের সাথে বুঝতে পারে তবে পরিবর্তন ব্যয়বহুল বা উপরে উপস্থাপিত সমাধানটি ভাল, যেখানে "পরিবর্তন কোড" বোঝা খুব সহজ, ডিবাগ, পরিবর্তন এবং "লিঙ্কিং কোড" এক ধরণের কঠিন।
দ্রষ্টব্য: এটি কোড পঠনযোগ্যতা সম্পর্কে নয়! 1 এবং 2 এ দুটি কোডই পঠনযোগ্য, তবে 2 এ কোডটি আরও জটিল বিমূর্তি সহ আসে যখন কোড 1 সহজ বিমূর্তি সহ আসে।