প্রায়শই "জটিল" প্যাচ / চেঞ্জলিস্টগুলি হ'ল যা একই সাথে বিভিন্ন রকম কাজ করে। এখানে নতুন কোড, মোছা কোড, রিফ্যাক্টর কোড, সরানো কোড, প্রসারিত পরীক্ষা রয়েছে; এটি বড় ছবি দেখতে কঠিন করে তোলে।
একটি সাধারণ ক্লু ক্লু হ'ল প্যাচটি বিশাল তবে এর বিবরণটি খুব সামান্য: "প্রয়োগ করুন $ এফওও"।
এই জাতীয় প্যাচ হ্যান্ডেল করার একটি যুক্তিসঙ্গত উপায় হল এটি জিজ্ঞাসা করা যে এটি ছোট ছোট, স্ব-অন্তর্ভুক্ত টুকরোগুলির মধ্যে বিভক্ত করা উচিত। যেমন একক-দায়িত্ব নীতিটি বলে যে কোনও ফাংশনটিতে কেবল একটি কাজ করা উচিত, তেমনি একটি প্যাচও কেবল একটি জিনিসকে কেন্দ্র করে।
উদাহরণস্বরূপ, প্রথম প্যাচগুলিতে নিখুঁতভাবে যান্ত্রিক রিফ্যাক্টরিংগুলি থাকতে পারে যা কোনও কার্যকরী পরিবর্তন করে না এবং তারপরে চূড়ান্ত প্যাচ (এস) কম বিক্ষিপ্ততা এবং লাল হেরিংগুলির সাথে $ এফইওর বাস্তব বাস্তবায়ন এবং পরীক্ষায় মনোনিবেশ করতে পারে।
ক্রিয়াকলাপের জন্য যা প্রচুর নতুন কোডের প্রয়োজন হয়, নতুন কোডটি প্রায়শই পরীক্ষামূলক অংশগুলিতে প্রবর্তন করা যেতে পারে যা সিরিজের শেষ প্যাচটি আসলে নতুন কোডকে (একটি পতাকা ফ্লিপ) কল না করা পর্যন্ত পণ্যের আচরণ পরিবর্তন করে না।
দক্ষতার সাথে এটি করার জন্য, আমি সাধারণত এটিকে আমার সমস্যা হিসাবে আখ্যায়িত করি এবং তারপরে লেখকের সাহায্য প্রার্থনা করি: "এখানে যা যা চলছে তা অনুসরণ করতে আমার সমস্যা হচ্ছে। এই প্যাচটি কীভাবে ছোট করে ছোট পদক্ষেপে বিভক্ত করতে পারেন তা বুঝতে আমার এই সমস্ত কী ফিট করে? একসঙ্গে? " ছোট ধাপগুলির জন্য নির্দিষ্ট পরামর্শ দেওয়ার প্রয়োজন হয় necessary
"ইমপ্লিমেন্ট $ এফইও" এর মতো এত বড় প্যাচ এই জাতীয় প্যাচগুলির মতো সিরিজে পরিণত হয়:
- ফ্রবনেিকেটের একটি নতুন সংস্করণ প্রবর্তন করুন যা একজোড়া পুনরাবৃত্তির জন্য লাগে কারণ আমি এটিকে OO এফওও বাস্তবায়নের জন্য ভেক্টর ব্যতীত অন্য সিকোয়েন্সগুলির সাথে কল করতে যাচ্ছি।
- নতুন সংস্করণটি ব্যবহার করতে Frobnicate এর সমস্ত বিদ্যমান কলার স্যুইচ করুন।
- পুরানো ফ্রবনেটিকে মুছুন।
- ফ্রবনেিকেট খুব বেশি করছিল। ফ্যাক্টর তার নিজস্ব পদ্ধতিতে refrumple পদক্ষেপ এবং এর জন্য পরীক্ষা যোগ করুন।
- পরীক্ষা দিয়ে জেরজিফাই পরিচয় করিয়ে দিন। এখনও ব্যবহার করা হয়নি, তবে আমার এটির জন্য OO FOO দরকার।
- জেরজিফাই এবং নতুন ফ্রবনেটিকের শর্তাবলী $ এফইও প্রয়োগ করুন।
নোট করুন যে 1-5 পদক্ষেপগুলি পণ্যটিতে কোনও কার্যকরী পরিবর্তন করে না। আপনার কাছে সমস্ত সঠিক পরীক্ষা আছে তা নিশ্চিত করে তা পর্যালোচনা করতে তারা তুচ্ছ। এমনকি step ধাপটি এখনও "জটিল" হলেও অন্তত এটি $ এফইও-র উপর ফোকাস করে। এবং লগটি স্বাভাবিকভাবেই আপনাকে $ এফওও বাস্তবায়ন করা হয়েছিল (এবং কেন ফ্রবনেটিকে পরিবর্তন করা হয়েছিল) সম্পর্কে আরও ভাল ধারণা দেয়।