আমি টিডিডিতে মোটামুটি নতুন এবং বাস্তবায়ন কোডের যে কোনওটির আগে আমার প্রথম পরীক্ষাটি তৈরি করার সময় আমার সমস্যা হয়। বাস্তবায়ন কোডের কোনও কাঠামো ছাড়াই আমি আমার প্রথম পরীক্ষাটি লিখতে চাই যদিও আমি চাই তবে সমস্যাটি সম্পর্কে আমার চিন্তাভাবনার জাভা / ওও পদ্ধতিতে এটি সবসময় কলঙ্কিত হয়ে আসে বলে মনে হয়।
উদাহরণস্বরূপ, আমার গিথুব কনভেজেস গেম অফ লাইফের উদাহরণটিতে আমি প্রথম পরীক্ষা লিখেছি (नियम 1_zeroNebbours) আমি একটি গেমফ্লাইফ অবজেক্ট তৈরি করে শুরু করেছি যা এখনও কার্যকর হয়নি; অস্তিত্বহীন এমন একটি সেট পদ্ধতি বলা হয়, অস্তিত্বহীন একটি পদক্ষেপ পদ্ধতি, অস্তিত্বহীন একটি গেট পদ্ধতি এবং তারপরে একটি দৃ used়পদ ব্যবহার করা হয়েছিল।
আমি আরও পরীক্ষা এবং রিফ্যাক্টর লেখার সাথে সাথে পরীক্ষাগুলি বিকশিত হয়েছিল তবে মূলত এটি দেখতে এরকম কিছু দেখাচ্ছে:
@Test
public void rule1_zeroNeighbours()
{
GameOfLife gameOfLife = new GameOfLife();
gameOfLife.set(1, 1, true);
gameOfLife.step();
assertEquals(false, gameOfLife.get(1, 1));
}
আমি এই প্রথম টেস্টটি লেখার জন্য এই প্রথম পর্যায়ে কীভাবে সিদ্ধান্ত নিয়েছিলাম তার উপর ভিত্তি করে বাস্তবায়নের নকশাটি জোর করে নিচ্ছিলাম বলে এটি অদ্ভুত অনুভূত হয়েছিল।
আপনি যেভাবে টিডিডি বুঝতে পেরেছেন এটি ঠিক আছে? আমি মনে করি যে টিডিডি / এক্সপি নীতিগুলি অনুসরণ করছি যেগুলি আমার পরীক্ষাগুলি এবং বাস্তবায়ন সময়ের সাথে সাথে রিফ্যাক্টরিংয়ের সাথে বিকশিত হয়েছিল, এবং তাই যদি এই প্রাথমিক নকশাটি অকেজো প্রমাণিত হয় তবে এটি পরিবর্তনের জন্য উন্মুক্ত ছিল, তবে মনে হয় আমি কোনও দিকনির্দেশনা চাপিয়ে দিচ্ছি এইভাবে শুরু করে সমাধান।
লোকেরা কীভাবে টিডিডি ব্যবহার করে? আমি গেম অফফাইফ অবজেক্ট, কেবল আদিম এবং স্থির পদ্ধতি না দিয়ে শুরু করে রিফ্যাক্টরিংয়ের আরও পুনরাবৃত্তির মধ্য দিয়ে যেতে পারতাম তবে এটি খুব সংকুচিত বলে মনে হয়।