আপনার ইউনিট পরীক্ষাগুলির গুণমান এবং পাঠযোগ্যতার দিক থেকে আপনার উত্পাদন কোডের চেয়ে ভাল যত্ন না রাখলে আপনার অবশ্যই তা গ্রহণ করা উচিত। কিছু কিছু কোড কী করে তা উপলব্ধি করার চেষ্টা করার সময় ইউনিট পরীক্ষাগুলি প্রায়শই আপনি প্রথমে দেখেন এবং পরীক্ষার দিকে তাকানোর সময় পাঠকের কী কী ঝুঁকির মধ্যে রয়েছে তা দ্রুত বুঝতে হবে। ইউনিট পরীক্ষাগুলিতেও অনেকগুলি পরিবর্তন ঘটে এবং তাদের নকশা শক্তিশালী না হলে অনেকগুলি ভেঙে যায়, কোন ধরণের পরীক্ষা করার সুবিধাটি বাতিল করে দেয়।
লিমিটার অফ ডিমিটারের লঙ্ঘন অবশ্যই সেই কারণে আপনার ইউনিট পরীক্ষাগুলিতে এবং অন্য 2 জন যা আমার মনে আসে:
যদি আপনার পরীক্ষাগুলি তাদের ব্যবস্থা বা আইন বিভাগে নিয়ন্ত্রকের আইন ভঙ্গ করে , এটি সম্ভবত একটি চিহ্ন যা আপনার প্রোডাকশন কোডটিও করে, যেহেতু আপনার ইউনিট পরীক্ষাগুলি আপনার কোডের অন্য একজন গ্রাহক এবং সম্ভবত পরীক্ষার অধীনে ক্লাসটি কল করে পরিচালনা করবে same অন্য যে কোনও প্রোডাকশন কোডটি এমনভাবে করবে।
যদি আপনার পরীক্ষাগুলি তাদের দৃsert় অংশগুলিতে ডেমিটারের আইন ভঙ্গ করে (যেমন আপনি পরীক্ষার অধীনে অবজেক্টের নির্ভরতা গ্রাফের মধ্যে গভীরভাবে বাসা বেঁধে দেওয়া কোনও কিছুর মান যাচাই করেন), এটি হতে পারে যে সেগুলি ইউনিট পরীক্ষার পরিবর্তে সত্যই ইন্টিগ্রেশন টেস্ট। অন্য কথায়, টেস্টএতে আপনি যদি দৃ that়ভাবে দাবি করেন যে এবিসিডি কোনও কিছুর সমান হয়, তবে এটি সম্ভবত আপনি কেবল এ এর পরিবর্তে ডি এবং এ পরীক্ষা করার চেষ্টা করছেন might
যাইহোক, যখন আপনি বলেন
দ্রুত লেখার জন্য এবং এতগুলি ভেরিয়েবল ব্যবহার না করার জন্য আমি প্রায়শই ডেমিটারের আইন ভঙ্গ করি।
আপনার লেখার সচেতন হওয়া উচিত
var grab = myDependency.Grab;
var something = grab.Something;
var very = something.Very;
very.Deep();
ডেমিটার বুদ্ধিমানের চেয়ে আসলে আর ভাল কিছু নয়
myDependency.Grab.Something.Very.Deep();
যদি সেটাই আপনি বোঝাতে চেয়েছিলেন