Tái cấu trúc giống như chọn phòng của bạn.
Nếu bạn giữ mọi thứ gọn gàng, bạn có một chi phí tuyến tính, tỷ lệ thuận với số lượng công việc sản xuất bạn đang làm trên mã, O (n) theo thuật ngữ của nhà thuật toán học. Giả sử bạn dành 10% thời gian để tái cấu trúc (hoặc giữ phòng của bạn gọn gàng), thì 10% đó là nhất định và nó sẽ không đổi theo thời gian.
Tuy nhiên, nếu bạn ném quần áo bẩn của bạn vào một góc, và tiếp tục làm việc đó, lượng thời gian bạn sẽ dành để chọn phòng của bạn tăng lên khi sự lộn xộn trở nên phức tạp hơn. Giả sử rằng mỗi mảnh quần áo bẩn riêng lẻ đóng góp theo cấp số nhân cho thời gian dọn dẹp cần thiết, bạn hiện đang ở trong tình huống O (e n ).
Bất cứ ai đã từng đào sâu vào khái niệm về độ phức tạp thuật toán sẽ quan sát thấy rằng có một điểm hòa vốn ở đâu đó, nghĩa là, có một lượng quần áo bẩn tối ưu để tích lũy; bao nhiêu đó phụ thuộc vào các yếu tố không đổi được loại bỏ trong ký hiệu big-O. Một yếu tố khác là giá trị công việc của bạn theo thời gian: nếu công việc của bạn có giá trị rất nhiều ngay bây giờ, nhưng giá rẻ vào tuần tới (nghĩa là có thời hạn vào thứ sáu này cho dự án này và ba ngày nữa, nhưng sau đó, bạn sẽ hầu như không hoạt động ), phương trình có thể có lợi cho việc không tái cấu trúc.
Và sau đó là khối lượng quan trọng phức tạp. Tại một số điểm, mớ hỗn độn ('mớ hỗn độn quan trọng', nếu bạn sẽ) trở nên tồi tệ đến mức có vẻ dễ dàng hơn để đốt cháy toàn bộ căn phòng và mua quần áo mới. Trong thực tế, điều đó thường không xảy ra, nhưng nó xuất hiện theo cách đó và các hiệu ứng tâm lý sẽ khiến việc giải quyết vấn đề trở nên khó khăn hơn gấp mười lần.
Và rõ ràng, nếu bạn bước vào một dự án là một mớ hỗn độn dư thừa khổng lồ, bạn có sự lựa chọn hạn chế.
TL; DR: Nếu nghi ngờ, tái cấu trúc. Bạn nên có bằng chứng thực sự tốt trước khi quyết định không.