Tôi đang làm việc trên một công cụ nhỏ như một dự án đồ chơi để hiển thị sự khác biệt giữa hai thư mục, cho thấy tệp / thư mục nào đã được thêm, xóa, sửa đổi, v.v.
Tôi đã cố gắng biểu diễn những thay đổi này chỉ đơn giản là các đối tượng 'ChangeItem', không phân biệt giữa nó là tệp hay thư mục. Tuy nhiên, điều đó tạo ra rất nhiều vấn đề, ví dụ như làm thế nào để hiển thị chúng trên cây, làm thế nào để biết cha mẹ của đứa trẻ là ai, v.v. Và nó cũng rất không trực quan.
Sau đó tôi chia các thay đổi giữa thay đổi thư mục và thay đổi tập tin. Điều đó ngay lập tức làm cho nó rất dễ dàng để mã hóa và để hiểu những gì đang xảy ra. Bây giờ đơn giản hơn nhiều để chọn tất cả các tệp trong một thư mục, v.v.
Câu hỏi của tôi là, làm thế nào người ta có thể biết nên sử dụng sự trừu tượng hóa hay để có được cụ thể hơn trong mã của họ? Làm thế nào bạn có thể biết nếu bạn có quá nhiều hoặc quá ít trừu tượng?