Tôi đang tái cấu trúc một lớp mã kế thừa lớn. Tái cấu trúc (tôi đoán) ủng hộ điều này:
- viết bài kiểm tra cho lớp kế thừa
- tái cấu trúc quái vật ra khỏi lớp
Vấn đề: một khi tôi cấu trúc lại lớp, các bài kiểm tra của tôi ở bước 1 sẽ cần phải được thay đổi. Ví dụ, những gì đã từng là một phương thức cũ, bây giờ có thể là một lớp riêng thay thế. Một phương thức có thể là gì bây giờ Toàn bộ khung cảnh của lớp kế thừa có thể bị xóa sạch thành một cái gì đó mới, và vì vậy các bài kiểm tra tôi viết ở bước 1 sẽ gần như vô hiệu. Về bản chất, tôi sẽ thêm Bước 3. viết lại các bài kiểm tra của tôi
Mục đích sau đó để viết bài kiểm tra trước khi tái cấu trúc là gì? Nghe có vẻ giống như một bài tập học thuật tạo ra nhiều công việc hơn cho bản thân tôi. Bây giờ tôi đang viết bài kiểm tra cho phương pháp này và tôi đang tìm hiểu thêm về cách kiểm tra mọi thứ và cách thức phương pháp hoạt động. Người ta có thể học được điều này bằng cách chỉ đọc chính mã kế thừa, nhưng viết bài kiểm tra gần giống như dụi mũi vào đó, và cũng ghi lại kiến thức tạm thời này trong các bài kiểm tra riêng biệt. Vì vậy, cách này tôi gần như không có lựa chọn nào khác ngoài việc tìm hiểu mã đang làm gì. Tôi đã nói tạm thời ở đây, bởi vì tôi sẽ cấu trúc lại mã chết và tất cả tài liệu và bài kiểm tra của tôi sẽ không có giá trị đối với một phần quan trọng, ngoại trừ kiến thức của tôi sẽ ở lại và cho phép tôi làm mới hơn về tái cấu trúc.
Đó có phải là lý do thực sự để viết các bài kiểm tra trước khi tái cấu trúc - để giúp tôi hiểu mã tốt hơn? Có một lý do khác!
Vui lòng giải thích!
Ghi chú:
Có bài đăng này: Có ý nghĩa gì khi viết các bài kiểm tra cho mã kế thừa khi không có thời gian để tái cấu trúc hoàn chỉnh? nhưng nó nói "viết bài kiểm tra trước khi tái cấu trúc", nhưng không nói "tại sao" hoặc phải làm gì nếu "bài kiểm tra viết" có vẻ như "công việc bận rộn sẽ bị phá hủy sớm"