নিবন্ধ থেকে:
আরও সাধারণভাবে, ইয়ো-ই সমস্যাটি এমন কোনও পরিস্থিতি সম্পর্কেও উল্লেখ করতে পারে যেখানে একটি ধারণা বোঝার জন্য কোনও ব্যক্তিকে অবশ্যই বিভিন্ন তথ্যের উত্সগুলির মধ্যে ফ্লিপিং রাখতে হবে।
উত্স কোডটি লিখিত হওয়ার চেয়ে অনেক বেশিবার পড়া হয়। সুতরাং, অনেক ফাইলের মধ্যে স্যুইচ করার ইও-ইও সমস্যাটি উদ্বেগজনক।
তবে না , গভীরভাবে আন্তঃনির্ভরশীল মডিউল বা ক্লাসগুলি (যা একে অপরের মধ্যে পিছনে পিছনে ডাকে) ডিল করার সময় ইয়ো-ইও সমস্যা আরও বেশি প্রাসঙ্গিক বোধ করে। এগুলি পড়ার জন্য একটি বিশেষ ধরণের দুঃস্বপ্ন এবং সম্ভবত ইয়ো-ই সমস্যাটির মুদ্রকটি মনে রেখেছিল।
তবে - হ্যাঁ , বিমূর্ততার অনেকগুলি স্তর এড়ানো গুরুত্বপূর্ণ!
সমস্ত অ-তুচ্ছ বিমূর্ততা কিছুটা হলেও ফাঁস হয়। - লিকি বিমূর্তনের আইন।
উদাহরণস্বরূপ, আমি তৈরি ধৃষ্টতা সঙ্গে মতানৈক্য mmmaaa এর উত্তর যে "আপনি না [(দর্শন)] পিনকোড ঠিকানা বর্গ বুঝতে ক্লাসে ইয়োইয়ো প্রয়োজন"। আমার অভিজ্ঞতা হয়েছে যে আপনার কি - অন্তত প্রথম কয়েক বার আপনি কোড পড়া। যাইহোক, অন্যরা যেমন উল্লেখ করেছে যে, অনেক সময় এমন সময় আসে যখন কোনও ZipCode
শ্রেণি উপযুক্ত হয়।
YAGNI (ইয়া সংযমের নয় এটি প্রয়োজন) Lasagna কোড (কোড এত বেশী স্তর সহ) এড়াতে অনুসরণ করতে একটি ভাল প্যাটার্ন - যেমন ধরনের বিমূর্ত, এবং ক্লাস প্রোগ্রামার সেখানে সাহায্য করার, আর যদি না তারা ব্যবহার করা উচিত নয় হয় একটি সহায়তা।
আমি ব্যক্তিগতভাবে "কোডের রেখাগুলি সংরক্ষণ" (এবং অবশ্যই সম্পর্কিত "ফাইলগুলি / মডিউলগুলি / ক্লাসগুলি সংরক্ষণ করুন" ইত্যাদি) লক্ষ্য করি। আমি আত্মবিশ্বাসী এমন কেউ কেউ আছেন যারা আমার কাছে "আদিম উন্মাদিত" এর উপমাটি প্রয়োগ করবেন - আমি লেবেল, নিদর্শন এবং বিরোধী নিদর্শন সম্পর্কে চিন্তা করার চেয়ে যুক্তিযুক্ত কারণগুলির পক্ষে কোড থাকা আরও গুরুত্বপূর্ণ মনে করি । কোন ফাংশন, একটি মডিউল / ফাইল / শ্রেণি তৈরি করতে বা কোনও সাধারণ স্থানে কোনও ফাংশন স্থাপন করার সঠিক পছন্দটি খুব পরিস্থিতিগত। আমি প্রায় 3-100 লাইন ফাংশন, 80-500 লাইন ফাইল এবং পুনরায় ব্যবহারযোগ্য লাইব্রেরি কোডের জন্য "1, 2, এন" লক্ষ্য করি ( এসএলওসি - মন্তব্য বা বয়লারপ্লেট সহ নয়; আমি সাধারণত বাধ্যতামূলক প্রতি লাইনে কমপক্ষে 1 টি অতিরিক্ত এসএলওসি ন্যূনতম চাই boilerplate,)।
বিকাশকারীদের ঠিক এমনটি করার পরে বেশিরভাগ ইতিবাচক নিদর্শন তৈরি হয়েছিল, যখন তাদের প্রয়োজন হয়েছিল । একই সমস্যা সমাধান না করে প্যাটার্ন প্রয়োগ করার চেষ্টা করার চেয়ে পাঠযোগ্য কোড কীভাবে লিখতে হবে তা শিখতে আরও অনেক গুরুত্বপূর্ণ। যে কোনও ভাল বিকাশকারী কারখানার প্যাটার্নটি অসাধারণ ক্ষেত্রে আগে না দেখে এটি প্রয়োগ করতে পারে যেখানে এটি তাদের সমস্যার জন্য উপযুক্ত। আমি কারখানার প্যাটার্ন, পর্যবেক্ষক প্যাটার্ন এবং সম্ভবত কয়েক শতাধিক ব্যবহার করেছি, তাদের নাম না জেনে (অর্থাত্ সেখানে "ভেরিয়েবল অ্যাসাইনমেন্ট প্যাটার্ন" আছে?)। একটি মজাদার পরীক্ষার জন্য - দেখুন জেএস ভাষায় কতগুলি জিওএফ নিদর্শন তৈরি করা হয়েছে - 2009 সালে প্রায় 12-15 পরে আমি গণনা বন্ধ করে দিয়েছি The কারখানার প্যাটার্নটি জেএস কনস্ট্রাক্টরের কাছ থেকে কোনও জিনিস ফেরত দেওয়ার মতোই সহজ, উদাহরণস্বরূপ - প্রয়োজন নেই একটি উইজেটফ্যাক্টরি।
সুতরাং - হ্যাঁ , কখনও কখনও ZipCode
একটি ভাল বর্গ হয়। তবে, না , ইয়ো-ইও সমস্যাটি কঠোরভাবে প্রাসঙ্গিক নয়।