Đối với nhóm của tôi, tôi thường bắt đầu chạy lại tái cấu trúc khoảng ba đến bốn tháng một lần. Xem xét chúng tôi chạy chạy nước rút trong 2 tuần, đó là một lần tái cấu trúc chạy nước rút khoảng bảy lần chạy nước rút.
Tôi chạy chạy nước rút tái cấu trúc giống như bất kỳ lần chạy nước rút nào khác - nghiêm ngặt 2 tuần thời gian giới hạn. Đôi khi chúng tôi thậm chí chạy chỉ 1 tuần tái cấu trúc chạy nước rút (khi một cái gì đó khẩn cấp đến cùng).
Lưu ý về chạy nước rút refactoring: đừng quá tham vọng:
- Nhận refactoring đó là một chu kỳ vô hạn: bạn sẽ luôn tìm thấy một cách tốt hơn để làm điều này.
- OK nếu bạn chỉ cấu trúc lại 10% những gì cần phải được cấu trúc lại.
- Điều chỉnh tái cấu trúc giống như bất kỳ câu chuyện nào khác để bạn buộc phải ưu tiên những gì cần cấu trúc lại và nhận ra vị trí trong mã của bạn cần được tái cấu trúc nhiều nhất. Sự khác biệt duy nhất là cho các câu chuyện tái cấu trúc, tôi cho phép các nhà phát triển đặt ra các ưu tiên.
- Một nhà cấu trúc lại một phần sẽ vẫn để mã của bạn ở trạng thái tốt hơn không có trình chỉnh sửa nào cả. Thêm vào đó, nó có xu hướng làm cho việc tái cấu trúc thêm dễ dàng hơn.
- Việc tái cấu trúc diễn ra ngay cả bên ngoài các lần chạy nước rút tái cấu trúc khi làm việc trên các câu chuyện, nhưng chỉ khi việc tái cấu trúc là một quả treo thấp không ảnh hưởng đến các câu chuyện được hoàn thành.
Đây là những gì cá nhân tôi sử dụng làm hướng dẫn để tái cấu trúc. Nó không chỉ làm cho tái cấu trúc quản lý mà còn phục vụ như một chỉ báo tốt cho khi bạn đang overdoing nó.
1 More nếu tôi có thể - nó làm cho tôi buồn khi nhanh nhẹn được một đại diện của mã kém kiến trúc, khi nhanh nhẹn với TDD là * explicitely * được thiết kế để cải thiện kiến trúc mã thông qua cải tiến liên tục. –
Tôi không đồng ý, TDD thường không tương đương với hệ thống kiến trúc tốt. Ngoài ra, TDD nên được sử dụng như một cách tiếp cận "khi thích hợp". Trong khi tôi đồng ý với vật liệu khúc xạ màu đỏ-xanh lá cây, tôi tin rằng một * nhiều * người bị treo lên trên điều này và kết quả là - kéo dài phát triển đáng kể. TDD tuyệt vời để tập trung vào các phần nhỏ của ứng dụng. Nó rõ ràng sẽ mở rộng và phát triển thành một luồng công việc được thiết kế tốt hơn, nhưng điều đó không thực sự luôn dẫn đến thiết kế macro tốt. Sprint cấp độ khúc xạ là rất quan trọng cho việc này. – Chance
@Chance: (1) ** Bất kỳ phương pháp ** nào được áp dụng hoặc áp dụng sai sẽ dẫn đến hệ thống được viết và viết kém. (2) TDD là một phương pháp phát triển thường được áp dụng trong một quá trình nhanh tổng thể, và nhận xét của tôi nếu bạn đọc nó nói về đầu ra của ** phát triển nhanh **, chứ không phải đặc biệt là TDD. Nếu bạn cố gắng sử dụng TDD để giải quyết các vấn đề cấp cao hơn như những kiến trúc, bạn sẽ thất bại. TDD không bao giờ ** tương đương với các hệ thống kiến trúc tốt, giống như một bài kiểm tra lái xe không bao giờ đo khả năng nấu một món trứng tráng! Nhưng TDD thực hiện tốt thì ** không ** làm trầm trọng thêm tình hình. –