তিনজনের নিয়মে তৃতীয়বার অপেক্ষা করা যুক্তিযুক্ত?


16

আমি সবেমাত্র উইকিপিডিয়ায় " তিনটি বিধি " নিবন্ধটি জুড়ে এসেছি

তিনটির বিধি হল একটি কোডের একটি অনূদিত টুকরা নতুন পদ্ধতির দ্বারা প্রতিস্থাপন করা উচিত কিনা তা স্থির করার জন্য একটি কোড রিফ্যাক্টরিং নিয়ম। এতে বলা হয়েছে যে কোডটি একবারে অনুলিপি করা যায়, তবে একই কোডটি তিনবার ব্যবহার করা হলে এটি একটি নতুন পদ্ধতিতে বের করা উচিত racted এই নিয়মটি মার্টিন ফোলার রিফ্যাক্টরিংয়ে প্রবর্তন করেছিলেন এবং ডন রবার্টসকে দায়ী করেছিলেন।

আমি জানি যে এটি কেবল থাম্বের একটি নিয়ম, তবে কেন কেবল দ্বিতীয় নকলের পরে এটি রিফ্যাক্টরের সুপারিশ করা হয়? আমরা যখন প্রথম নকলটি লিখি তখন কি রিফ্যাক্টরিংয়ের কোনও খারাপ দিক রয়েছে?


2
দেখুন দুটি একটি অসম্ভব সংখ্যা এবং দৃষ্টিকোণের আরও একটি সেটের জন্য জিরো-ও-ইনফিনিটি নিয়ম
আকাশম

সফ্টওয়্যার বিকাশের কথা বলার সময়, উইকিপিডিয়া থেকে মূল উইকি প্রায়শই অনেক ভাল উত্স হয়। সর্বোপরি, ওয়ার্ড কানিংহাম সফটওয়্যার বিকাশের বিষয়ে কথা বলার উপায় হিসাবে উইকি আবিষ্কার করেছিলেন। C2.Com/cgi/wiki?RuleOfThree
ডব্লু

2
পুনরায় ব্যবহারের জন্য যদি 2 টি পরিস্থিতি থাকে তবে আপনি সহজেই যুক্তিটি শাখা করতে পারেন (যদি, অন্যথায়)। একবার এটি তিনটি সম্ভাব্য পাথ্রে পৌঁছে গেলে পুনরায় ফ্যাক্টর তৈরি করা এবং রক্ষণাবেক্ষণ করা সহজ হয়ে যায়।
অ্যান্ড্রু লুইস


আমি মনে করি এটি অনুলিপি-পেস্টের জন্য একটি সুবিধাজনক অজুহাত, যখন কেউ আসলে রিফ্যাক্টর এবং সাধারণীকরণ করতে পারে। আপনি যখন তৃতীয় কেস পান, আপনি আরও সাধারণীকরণ করতে পারেন।
আলেক্সি

উত্তর:


17

আমি মনে করি থাম্বের এই নিয়মটি বিদ্যমান কারণ কোডটি প্রথমবারের জন্য ডিজাইন করার সময় বা প্রথম নকলের পরে "কী হবে ..." খেলতে পারা সহজ। আমি কিছু ক্ষেত্রে গুরুতর বিশ্লেষণ পক্ষাঘাতের মুখোমুখি হয়েছি কারণ লোকেরা পরে কার্যকরীতার জন্য ডিজাইনিং কার্যকারিতা শুরু করে। তবে হাতের কাছে তাত্ক্ষণিক সমস্যার প্রয়োজন নেই।

কোডটি ভবিষ্যতের পুনঃ-ফ্যাক্টরিংয়ের জন্য উপযুক্ত রাখার সাথে সাথে আপনার যা প্রয়োজন কেবল তা ডিজাইনিং / লেখার জন্য একটি শিল্প রয়েছে।


8
এটা একটা ভাল দিক. আমার অভিজ্ঞতা অনুসারে, তৃতীয় অনুলিপি থাকা কেবল উভয়ের চেয়ে সামঞ্জস্যতা এবং পার্থক্যকে কিছুটা তীক্ষ্ণ করে তোলে।
ড্যানিয়েল বি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.