Tôi nghĩ rằng bạn đang thực hiện nguyên tắc lặp lại mã quá xa. Hãy nghĩ về điểm tránh Mã lặp lại. Vấn đề là giảm số lượng mã phải được kiểm tra khi có sự thay đổi trong logic và tăng mức độ hiểu bằng cách bao gồm các khối có mục đích rõ ràng tương tự.
Nhược điểm của việc bao thanh toán để tránh Lặp lại là nếu một trong các khối được chia sẻ phải thay đổi, bây giờ bạn cần kế thừa thậm chí phức tạp hơn hoặc một số chuyển đổi giữa thực hiện tiêu chuẩn và không chuẩn.
Vì vậy, cẩn thận cân nhắc khả năng logic cho ngay cả một trong những khối này thay đổi mà không có các khối khác chống lại lợi ích hiểu được bằng cách bao gồm tính phổ biến này. Nếu một triển khai có thể tách ra khỏi các thực thi khác, bạn rất có thể tốt hơn là chỉ cần lặp lại mã.
Trong khi duy trì mã lặp lại này, vì nó trở nên phức tạp hơn và miền vấn đề của bạn trở nên rõ ràng hơn, sau đó bạn có thể thấy nó phù hợp hơn với yếu tố lặp lại, bây giờ phức tạp hơn, nhưng cũng được xác định rõ hơn.
Tôi thường cố gắng duy trì cùng một trình soạn thảo văn bản trong một thời gian cho đến khi tôi có thể xem liệu thứ gì đó có vẻ lặp đi lặp lại có đáng để bao thanh toán hay không. Tôi chỉ giữ lại sự lặp lại, nhưng tôi để mắt đến tương lai của khối đó bằng cách giữ cho nó dễ hiểu về mặt văn bản để phù hợp sau này.
Rất nhiều thời gian, cùng một tính năng và bao thanh toán có thể, bắt đầu tiêu tan, như các quy tắc kinh doanh thực tế, thất thường, và phụ thuộc cao, thường là logic tùy tiện; như xử lý các vấn đề kỳ lạ của một số triển khai cơ sở dữ liệu phổ biến (ANSI_NULLS hoặc một số thứ như vậy xuất hiện trong tâm trí) được thêm vào; buộc những gì có vẻ như là một logic thuần túy thành một mớ hỗn độn, cố gắng đưa ra logic quyết định hợp lý, có thể phòng thủ khi đối mặt với sự lộn xộn của tình trạng của ngành công nghiệp.
Dường như với tôi rằng nếu mọi người cố gắng tìm ra yếu tố bạn đang cố gắng, chúng tôi sẽ có toàn bộ thư viện các cấu trúc vô giá trị như Do1Then2 If2False Do1 IfTrueDo2.
Điều phức tạp hơn và rõ ràng hơn là khối sẽ không thay đổi để đảm bảo bao thanh toán.
Đó là phần mềm . Bạn có thể quay lại và chỉnh sửa một vài khối giống nhau ngay bây giờ. Sẽ mất 5 phút. Và bạn có thể tiết kiệm hàng giờ lãng phí bao thanh toán, và sau đó hàng giờ lãng phí thừa kế và chuyển đổi phát triển, bằng cách bỏ nó và đảm bảo bạn có một bàn phím chống RSI tốt.