আমি সিনিয়রদের মধ্যে জুনিয়র বিকাশকারী এবং তাদের চিন্তাভাবনা, যুক্তি বোঝার সাথে অনেক লড়াই করছি।
আমি ডোমেন-ড্রাইভড ডিজাইন (ডিডিডি) পড়ছি এবং বুঝতে পারি না কেন আমাদের এত ক্লাস তৈরি করা দরকার। আমরা যদি সফ্টওয়্যার ডিজাইনের সেই পদ্ধতিটি অনুসরণ করি তবে আমাদের 20-30 ক্লাস শেষ হয় যা বেশিরভাগ দুটি ফাইল এবং 3-4 ফাংশন দিয়ে প্রতিস্থাপন করা যায়। হ্যাঁ, এটি অগোছালো হতে পারে তবে এটি অনেক বেশি রক্ষণাবেক্ষণযোগ্য এবং পঠনযোগ্য।
যে কোনও সময় আমি দেখতে চাই যে কোন ধরণের কী EntityTransformationServiceImpl
করে, আমাকে প্রচুর ক্লাস, ইন্টারফেস, তাদের ফাংশন কল, কনস্ট্রাক্টর, তাদের তৈরি এবং আরও অনেক কিছু অনুসরণ করতে হবে।
সাধারণ গণিত:
- 10 ক্লাস এক্স 10 বনাম ডামি কোডের 60 লাইন (ধরা যাক যে আমাদের কাছে এ জাতীয় লজিকগুলি সম্পূর্ণ আলাদা) = 600 টি লাইন অগোছালো কোড বনাম 100 ক্লাস + আরও কয়েকটি আরও মোড়ানো এবং পরিচালনা করতে; নির্ভরতা ইনজেকশন যোগ করতে ভুলবেন না।
- অগোছালো কোডের 600 লাইন পড়ছে = একদিন
- ১০০ ক্লাস = এক সপ্তাহ, এখনও ভুলে যান কোনটি কখন, কখন করে
সবাই বলছে এটি বজায় রাখা সহজ তবে কিসের জন্য? প্রতিবার আপনি নতুন কার্যকারিতা যুক্ত করার সময় আপনি কারখানা, সত্তা, পরিষেবা এবং মান সহ আরও পাঁচটি ক্লাস যুক্ত করেন। আমি মনে করি এই জাতীয় কোডটি অগোছালো কোডের চেয়ে অনেক ধীর গতিতে চলেছে moves
ধরা যাক, আপনি যদি এক মাসে 50K এলওসি অগোছালো কোডটি লিখে থাকেন তবে ডিডিডি জিনিসটির জন্য প্রচুর পর্যালোচনা এবং পরিবর্তন প্রয়োজন (উভয় ক্ষেত্রেই আমি পরীক্ষাগুলি মনে করি না)। একটি সাধারণ সংযোজন আরও বেশি না হলে সপ্তাহ নিতে পারে।
এক বছরে, আপনি প্রচুর অগোছালো কোড লিখেন এবং এমনকি এটি একাধিকবার নতুন করে লিখতে পারেন তবে ডিডিডি শৈলীর সাথে আপনার কাছে এখনও অগোছালো কোডের সাথে প্রতিযোগিতা করার মতো যথেষ্ট বৈশিষ্ট্য নেই।
দয়া করে ব্যাখ্যা করুন. আমাদের কেন এই ডিডিডি স্টাইল এবং প্রচুর নিদর্শনগুলির প্রয়োজন?
ইউপিডি ১ : আমি অনেক দুর্দান্ত উত্তর পেয়েছি, আপনি কি দয়া করে কোথাও মন্তব্য যুক্ত করতে পারেন বা পড়ার তালিকার লিঙ্কটি দিয়ে আপনার উত্তরটি সম্পাদনা করতে পারেন (কোনটি শুরু করবেন তা নিশ্চিত নন, ডিডিডি, ডিজাইন প্যাটার্নস, ইউএমএল, কোড সম্পূর্ণ, রিফ্যাক্টরিং, প্র্যাকমেটিক,। .. এতগুলি ভাল বই) অবশ্যই যথাক্রমে, যাতে আমি বুঝতে শুরু করতে পারি এবং আপনার কয়েকজনের মতো সিনিয়রও হতে পারি।