একজন আইট্রেটার লেখার অংশ হিসাবে, আমি নিজেকে নীচের কোডের টুকরা (স্ট্রিপিং ত্রুটি পরিচালনার ক্ষেত্রে) লিখতে দেখলাম
public T next() {
try {
return next;
} finally {
next = fetcher.fetchNext(next);
}
}
এটি পড়ার চেয়ে কিছুটা সহজ খুঁজে পেয়েছি
public T next() {
T tmp = next;
next = fetcher.fetchNext(next);
return tmp;
}
আমি জানি এটি একটি সরল উদাহরণ, যেখানে পাঠযোগ্যতার পার্থক্যটি অত্যধিক অপ্রতিরোধ্য নাও হতে পারে তবে আমি ব্যতিক্রমী জড়িত না থাকায় এই জাতীয় ক্ষেত্রে চেষ্টা-শেষ অবধি ব্যবহার করা খারাপ কিনা তা নিয়ে আমি সাধারণ মতামত নিয়ে আগ্রহী or কোডটি সরল করার সময় যদি এটি প্রকৃতপক্ষে পছন্দ হয়।
যদি খারাপ হয়: কেন? স্টাইল, পারফরম্যান্স, দুর্যোগ, ...?
উপসংহার আপনার সমস্ত উত্তর ধন্যবাদ! আমি উপসংহারটি অনুমান করি (কমপক্ষে আমার জন্য) এটি হ'ল প্রথম উদাহরণটি যদি সাধারণ প্যাটার্ন হয় তবে এটি আরও বেশি পাঠযোগ্য হতে পারে তবে এটি তা নয় isn't সুতরাং এটির উদ্দেশ্য ব্যতীত কোনও কনস্ট্রাক্ট ব্যবহার করে যে বিভ্রান্তি সংঘটিত হয়েছে তা সম্ভবত অস্পষ্ট ব্যতিক্রম প্রবাহের সাথে যেকোন সরলকরণকে ছাড়িয়ে যাবে।
Iterator
, যেখানে আপনাকে hasNext()
কাজ করার জন্য প্রকৃতপক্ষে প্রেফেচিংয়ের প্রয়োজন । এটি নিজে চেষ্টা করো.
Iterator
হ'ল আপনাকে মানটি hasNext()
আনতে হবে ('এটি আনার কারণ এটি প্রায়শই একমাত্র উপায় এটি বিদ্যমান কিনা তা খুঁজে বের করতে পারে) এবং ওপি'র মতোই এটি ফিরিয়ে আনতে হবে next()
।
finally
ব্লক ব্যবহার করি ।