আমি একটি "স্প্যাগেটি কোড" প্রকল্পে কাজ করছি, এবং আমি বাগগুলি ঠিক করতে এবং নতুন বৈশিষ্ট্যগুলি প্রয়োগ করার সময়, কোডটি ইউনিট-টেস্টেবল করার জন্য আমি কিছু রিফ্যাক্টরিংও করি।
কোডটি প্রায়শই এত দৃly়ভাবে সংযুক্ত বা জটিল হয় যে একটি ছোট বাগ ফিক্স করার ফলে অনেকগুলি ক্লাস আবার লেখা যায়। সুতরাং আমি সিদ্ধান্ত নিয়েছি কোডটিতে কোথাও একটি লাইন আঁকতে যেখানে আমি পুনরায় চাপানো বন্ধ করব। এটি পরিষ্কার করার জন্য, আমি পরিস্থিতি ব্যাখ্যা করে কোডটিতে কিছু মন্তব্য ফেলেছি, যেমন:
class RefactoredClass {
private SingletonClass xyz;
// I know SingletonClass is a Singleton, so I would not need to pass it here.
// However, I would like to get rid of it in the future, so it is passed as a
// parameter here to make this change easier later.
public RefactoredClass(SingletonClass xyz) {
this.xyz = xyz;
}
}
অথবা, কেকের অন্য টুকরা:
// This might be a good candidate to be refactored. The structure is like:
// Version String
// |
// +--> ...
// |
// +--> ...
// |
// ... and so on ...
//
Map map = new HashMap<String, Map<String, Map<String, List<String>>>>();
এই একটি ভাল ধারণা? এমনটি করার সময় আমার কী মনে রাখা উচিত?