প্রথমত, কিছু সংজ্ঞা:
একটি ইউনিট পরীক্ষা অন্য ইউনিট থেকে বিচ্ছিন্নভাবে ইউনিট পরীক্ষা করে, তবে এর অর্থ কী কোনও প্রামাণিক উত্স দ্বারা দৃ concrete়ভাবে সংজ্ঞায়িত করা হয়নি, তাই এটি আরও ভাল সংজ্ঞা দিন: যদি I / O সীমানা অতিক্রম করা হয় (আই / ও নেটওয়ার্ক কিনা, ডিস্ক, স্ক্রিন বা ইউআই ইনপুট) রয়েছে, সেখানে একটি লাইন আঁকতে পারি এমন একটি আধা-উদ্দেশ্যমূলক জায়গা place কোডটি যদি I / O এর উপর নির্ভর করে তবে এটি একটি ইউনিটের সীমানা অতিক্রম করছে এবং সুতরাং সেই আই / ও এর জন্য দায়বদ্ধ ইউনিটকে উপহাস করা দরকার।
এই সংজ্ঞায়নের অধীনে, খাঁটি ফাংশনগুলির মতো জিনিসগুলিকে ঠাট্টা করার জন্য আমি কোন বাধ্যতামূলক কারণ দেখতে পাচ্ছি না, যার অর্থ ইউনিট টেস্টিং খাঁটি ফাংশনগুলিতে, বা পার্শ্ব-প্রতিক্রিয়া ছাড়াই ফাংশনগুলিকে ndsণ দেয়।
যদি আপনি প্রভাবগুলির সাথে পরীক্ষা ইউনিটগুলি ইউনিট করতে চান, তবে প্রভাবগুলির জন্য দায়ী ইউনিটগুলিকে ঠাট্টা করা উচিত, তবে সম্ভবত পরিবর্তে আপনাকে একটি সংহতকরণ পরীক্ষা বিবেচনা করা উচিত। সুতরাং, সংক্ষিপ্ত উত্তরটি হ'ল: "যদি আপনাকে উপহাস করার প্রয়োজন হয় তবে নিজেকে জিজ্ঞাসা করুন যে আপনার সত্যিকারের যা প্রয়োজন তা একটি ইন্টিগ্রেশন পরীক্ষা।" তবে এখানে আরও ভাল, দীর্ঘ উত্তর রয়েছে এবং খরগোশের গর্তটি আরও গভীর হয়। মকগুলি আমার প্রিয় কোডের গন্ধ হতে পারে কারণ এগুলি থেকে আরও অনেক কিছু শিখতে হবে।
কোড গন্ধ
এর জন্য, আমরা উইকিপিডিয়ায় ফিরে যাব:
কম্পিউটার প্রোগ্রামিংয়ে একটি কোডের গন্ধ কোনও প্রোগ্রামের উত্স কোডের কোনও বৈশিষ্ট্য যা সম্ভবত কোনও গভীর সমস্যা নির্দেশ করে।
এটি পরে চালিয়ে যায় ...
"গন্ধগুলি কোডের নির্দিষ্ট কাঠামো যা মৌলিক নকশার নীতি লঙ্ঘন এবং নকশার মানকে নেতিবাচকভাবে প্রভাবিত করে" indicate সূর্যনারায়ণ, গিরিশ (নভেম্বর 2014) সফ্টওয়্যার ডিজাইন গন্ধ জন্য রিফ্যাক্টরিং। মরগান কাউফম্যান পি। 258।
কোড গন্ধ সাধারণত বাগ হয় না; এগুলি প্রযুক্তিগতভাবে ভুল নয় এবং প্রোগ্রামটি কার্যকর হতে বাধা দেয় না। পরিবর্তে, তারা নকশায় দুর্বলতাগুলি নির্দেশ করে যা বিকাশকে কমিয়ে দিতে পারে বা ভবিষ্যতে বাগ বা ব্যর্থতার ঝুঁকি বাড়িয়ে তুলতে পারে।
অন্য কথায়, সমস্ত কোডের গন্ধ খারাপ হয় না। বরং তারা সাধারণ ইঙ্গিতও রয়েছে যে কিছু তার অনুকূল আকারে প্রকাশ করা যাবে না পারে, এবং গন্ধ হতে পারে প্রশ্নে কোড উন্নত করার সুযোগ নির্দেশ করে।
বিদ্রূপের ক্ষেত্রে, গন্ধটি ইঙ্গিত দেয় যে যে ইউনিটগুলি উপহাসের জন্য ডাকছে বলে মনে হচ্ছে তারা বিদ্রূপ করার জন্য ইউনিটগুলির উপর নির্ভর করে। এটি এমন একটি ইঙ্গিত হতে পারে যে আমরা সমস্যাটিকে অণু-সমাধানযোগ্য টুকরাগুলিতে বিভক্ত করতে পারি নি এবং এটি সফ্টওয়্যারটিতে একটি ডিজাইনের ত্রুটি চিহ্নিত করতে পারে।
সমস্ত সফ্টওয়্যার বিকাশের সারমর্মটি হ'ল বড় সমস্যাটিকে ছোট ছোট, স্বতন্ত্র টুকরো (পচন) ভাঙ্গতে এবং একসাথে সমাধানগুলি রচনা করে এমন একটি অ্যাপ্লিকেশন তৈরি করে যাতে বড় সমস্যা (রচনা) সমাধান করে।
বিদ্রূপ করা আবশ্যক যখন ইউনিটগুলি বড় সমস্যাটিকে ছোট ছোট ভাগে ভাঙতে ব্যবহৃত হয় একে অপরের উপর নির্ভর করে। আরেকটি উপায়ে বলুন, যখন রচনাটির অনুমানিত পারমাণবিক ইউনিটগুলি সত্যই পারমাণবিক না হয় এবং আমাদের পচনের কৌশলটি বৃহত্তর সমস্যাটিকে ক্ষুদ্রতর, স্বতন্ত্র সমস্যাগুলি সমাধান করার জন্য ক্ষয় করতে ব্যর্থ হয় ।
কোড গন্ধকে কী উপহাস করে তা এমন নয় যে উপহাসের সাথে সহজাতভাবে কিছু ভুল আছে - কখনও কখনও এটি খুব দরকারী useful এটি কোডের গন্ধকে কী তৈরি করে তা হ'ল এটি আপনার অ্যাপ্লিকেশনটিতে কাপলিংয়ের সমস্যাযুক্ত উত্সকে নির্দেশ করতে পারে। কখনও কখনও দম্পতির লেখার উত্সটি সরিয়ে ফেলা মক লেখার চেয়ে অনেক বেশি উত্পাদনশীল।
এখানে অনেক ধরণের সংযোগ রয়েছে এবং কিছু অন্যের চেয়ে ভাল। উপহাসগুলি একটি কোড গন্ধ তা বুঝতে পেরে আপনি গন্ধটিকে আরও খারাপ কিছুতে পরিণত করার আগে অ্যাপ্লিকেশন ডিজাইনের লাইফসাইকেলের শুরুতে সবচেয়ে খারাপ প্রকারগুলি সনাক্ত এবং এড়াতে শিখতে পারেন ।