বছর খানেক আগে আমার কাজটি থেকে 9 মাসের বিরতি নিতে সক্ষম হওয়ার সৌভাগ্য হয়েছিল। আমি স্থির করেছিলাম যে সেই সময়টিতে আমি আমার সি # দক্ষতা অর্জন করব। আমি একগুচ্ছ প্রকল্পে কাজ শুরু করেছিলাম এবং নিজেকে টিডিডি অনুসরণ করতে বাধ্য করেছিলাম।
এটি একটি মোটামুটি আলোকিত প্রক্রিয়া ছিল।
এটি প্রথমে শক্ত ছিল, তবে সময়ের সাথে সাথে আমি আরও পরীক্ষামূলক কোড কীভাবে লিখতে শিখেছি (যা এটি দেখা যাচ্ছে যে আরও সোলিড কোড হতে পারে) এবং প্রক্রিয়াটিতে আমি আমার ওও ডিজাইন দক্ষতাটি আরও তীক্ষ্ণ করেছি।
এখন আমি কর্মীদের মধ্যে ফিরে এসেছি এবং আমি অদ্ভুত কিছু লক্ষ্য করছি।
আমি টিডিডি অনুসরণ না করা পছন্দ করি।
আমি খুঁজে পাই টিডিডি আমাকে ধীর করে দেয় এবং আসলে পরিষ্কার অ্যাপ্লিকেশন ডিজাইন করা আরও কঠিন করে তোলে।
পরিবর্তে, আমি কিছুটা (ব্যাপকভাবে) ভিন্ন পদ্ধতির গ্রহণ করেছি:
- কাজের উল্লম্ব টুকরা বেছে নিন
- একটি কার্যকারী প্রোটোটাইপ বিকাশ
- রিফ্যাক্টর যতক্ষণ না সবকিছু সুন্দর এবং পরিপাটি থাকে
- আমি লিখেছি সুন্দর SOLID এবং টেস্টেবল কোড পিছনে একটি প্রশংসা ফিরে বসুন।
আপনি লক্ষ করেছেন যে পদক্ষেপ 1 "আমার পরীক্ষার লক্ষ্যের সার্বজনীন পৃষ্ঠকে সংজ্ঞায়িত করা" ছিল না এবং দ্বিতীয় ধাপটি "জনসাধারণের উপরের দিকের বাইজেসের পরীক্ষা ছিল না"। আপনি হয়ত লক্ষ্য করেছেন যে কোনও পদক্ষেপই পরীক্ষার সাথে জড়িত নয়। আমি পরীক্ষামূলক কোড লিখছি, তবে আমি এটি পরীক্ষা করছি না ... ঠিক এখনও yet
এখন, আমি এটি পরিষ্কার করতে চাই যে আমি আসলে কোনও ধরণের পরীক্ষার আগে যাচ্ছি না। আমি যে কোডটি লিখছি তা কাজ করে । এটি কাজ করে কারণ আমি নিজে এটি পরীক্ষা করছি।
আমি এটি পরিষ্কার করে দিতে চাই যে আমি সমস্ত স্বয়ংক্রিয় পরীক্ষারও পূর্ববর্তী নই। এখানেই আমার প্রক্রিয়াটি আলাদা। এবং এই কারণেই আমি এই প্রশ্নটি করছি।
তাত্ত্বিকভাবে টিডিডি। অনুশীলনে নয়।
আমার প্রক্রিয়াটি কিছুটা বিকশিত হয়েছে এবং আমি টিডিডি এবং কোনও পরীক্ষার মধ্যে একটি ভারসাম্য অর্জন করেছি যা আমি খুব উত্পাদনশীল এবং যুক্তিসঙ্গতভাবে নিরাপদ বলে মনে করি। এটি নিম্নলিখিত হিসাবে যায়:
- পরীক্ষার কথা মাথায় রেখে কাজের একটি উল্লম্ব টুকরোটি কার্যকর করুন তবে কোনও পরীক্ষা লিখবেন না।
- যদি রাস্তায় নামা যায় (উদাহরণস্বরূপ, এক মাস পরে) যে স্লাইসে সংশোধন প্রয়োজন
- ইউনিট টেস্ট, ইন্টিগ্রেশন টেস্ট, আচরণ পরীক্ষা ইত্যাদি লিখুন যা কাজের গতির গ্যারান্টি দেয়
- কোডটি সংশোধন করুন
- যদি এই টুকরোটির কোনও সংশোধন প্রয়োজন হয় না,
- কিছু করনা
কোড সংশোধন করার আগে কোড লেখার আগে থেকে পরীক্ষার লেখার বোঝা সরিয়ে দিয়ে আমি অনেক বেশি কার্যকরী কোড উত্পাদন করতে সক্ষম হয়েছি। এবং, যখন আমি পরীক্ষার লেখার কাছাকাছি যাই তখন আমি সেগুলির মধ্যে অনেক কম লিখি তবে প্রায় জমির (উচ্চতর আরওআই) কভার করি।
আমি এই প্রক্রিয়াটি পছন্দ করি, তবে আমি উদ্বিগ্ন যে এটি সম্ভবত ভালভাবে মাপবে না। এর সাফল্য বিকাশকারীরা বিষয় পরিবর্তন করার আগে তাদের পরীক্ষা লেখার বিষয়ে অধ্যবসায় থাকার উপর জড়িত। এবং এটি বেশ বড় ঝুঁকি মত মনে হচ্ছে। তবে, টিডিডির খুব ঝুঁকি রয়েছে।
সুতরাং, আমি কি [বিটি] ডিডি নরকে যাচ্ছি, বা এটি ব্যবহারিক কোডিং এবং পরীক্ষার একটি সাধারণ রূপ?
আমি এইভাবে কাজ চালিয়ে যেতে চাই দীর্ঘমেয়াদে এই প্রক্রিয়াটি কাজ করতে আমি কী করতে পারি?
বিঃদ্রঃ:আমি আমার প্রকল্পগুলির একমাত্র বিকাশকারী এবং আমি সমস্ত কিছুর জন্য দায়বদ্ধ: প্রয়োজনীয়তা সংগ্রহ, নকশা, আর্কিটেকচার, টেস্টিং, স্থাপনা ইত্যাদি etc.
If that slice doesn't need modification
। lizkeogh.com/2012/06/24/beetest-driven-de