বহু বছর ধরে আমি এই অপ্রয়োগের কবলে ছিলাম যে আমার কোডের জন্য ইউনিট পরীক্ষা লেখার মতো পর্যাপ্ত সময় আমার হাতে ছিল না। আমি যখন পরীক্ষাগুলি লিখি তখন সেগুলি ফুলে ওঠে, ভারী জিনিস যা আমাকে কেবল ভাবতে উত্সাহিত করেছিল যে যখন আমি জানতাম যে তাদের প্রয়োজন ছিল তখনই আমাকে কেবল ইউনিট পরীক্ষা লিখতে হবে।
তারপরে আমি টেস্ট ড্রাইভড ডেভলপমেন্ট ব্যবহার করা শুরু করেছিলাম এবং এটি আমার কাছে সম্পূর্ণ প্রকাশ হিসাবে দেখা গেছে। আমি এখন দৃ firm়ভাবে নিশ্চিত হয়েছি যে ইউনিট-পরীক্ষা না লেখার মতো সময় আমার নেই ।
আমার অভিজ্ঞতায়, পরীক্ষার কথা মাথায় রেখে আপনি ক্লিনার ইন্টারফেস, আরও ফোকাসযুক্ত ক্লাস এবং মডিউল এবং সাধারণত আরও সলিড , পরীক্ষামূলক কোড সহ শেষ করেন।
আমি যখনই লিগ্যাসি কোড নিয়ে কাজ করি যার ইউনিট পরীক্ষা নেই এবং ম্যানুয়ালি কোনও কিছুর পরীক্ষা করতে হবে, আমি ভাবতে থাকি "এই কোডটি ইতিমধ্যে ইউনিট পরীক্ষা করে থাকলে এটি এত দ্রুত হবে"। যতবারই আমাকে উচ্চ সংযুক্তির সাথে কোডে ইউনিট পরীক্ষার কার্যকারিতাটি যুক্ত করতে হবে, আমি ভাবতে থাকি "এটি যদি একটি ডি-কাপলড উপায়ে লেখা হত তবে এটি এত সহজ"।
আমি যে দুটি পরীক্ষামূলক স্টেশনকে সমর্থন করি তার তুলনা এবং বিপরীতে। একটি কিছু সময়ের জন্য প্রায় হয়েছে এবং লিগ্যাসি কোডের একটি দুর্দান্ত চুক্তি রয়েছে, অন্যটি অপেক্ষাকৃত নতুন।
পুরানো ল্যাবটিতে কার্যকারিতা যুক্ত করার সময়, এটি প্রায়শই ল্যাবটিতে নেমে আসার এবং তাদের প্রয়োজনীয় কার্যকারিতার ইমপ্লিকেশনগুলির সাথে কাজ করার জন্য অনেক ঘন্টা সময় ব্যয় করার ক্ষেত্রে ঘটে থাকে এবং অন্য কোনও কার্যকারিতা প্রভাবিত না করে কীভাবে আমি সেই কার্যকারিতা যুক্ত করতে পারি। অফ লাইন পরীক্ষার অনুমতি দেওয়ার জন্য কোডটি সহজেই সেট আপ করা হয় না, তাই বেশ কিছু কিছুই অন-লাইনে বিকাশ করতে হয়। আমি যদি অফ-লাইন বিকাশের চেষ্টা না করে থাকি তবে যুক্তিসঙ্গত হওয়ার চেয়ে আমি আরও মক অবজেক্ট দিয়ে শেষ করব ।
নতুন ল্যাবটিতে, আমি সাধারণত আমার ডেস্কে অফ-লাইনটি বিকাশ করে কার্যকারিতা যুক্ত করতে পারি, কেবল তাত্ক্ষণিকভাবে প্রয়োজনীয় জিনিসগুলি উপহাস করে এবং তারপরেই কেবলমাত্র অল্প সময়ের জন্য ল্যাবটিতে ব্যয় করা হয়, বাকী সমস্ত সমস্যা সমাধান না করে ing লাইন।
স্পষ্টতার জন্য, এবং যেহেতু @ নট 101 জিজ্ঞাসা করেছে ...
আমি কিছু নিয়মিত তথ্য বিশ্লেষণ সহ পরীক্ষামূলক নিয়ন্ত্রণ এবং ডেটা অধিগ্রহণ সফ্টওয়্যার নিয়ে কাজ করার ঝোঁক রাখি, তাই পুনর্বিবেচনা নিয়ন্ত্রণের সাথে টিডিডির সংমিশ্রণটি অন্তর্নিহিত পরীক্ষামূলক হার্ডওয়্যার এবং সময়ের সাথে সাথে ডেটা সংগ্রহের প্রয়োজনীয়তার পরিবর্তনগুলি উভয়ই নথিতে সহায়তা করে।
এমনকি অনুসন্ধানী কোড বিকাশের পরিস্থিতিতেও, আমি অনুমানগুলি কোডিফাইড করা এবং সেই অনুমানগুলি সময়ের সাথে কীভাবে বিকশিত হয়েছিল তা দেখার ক্ষমতা সহ আমি একটি উল্লেখযোগ্য উপকার দেখতে পাচ্ছি।