Đây là từ kinh nghiệm của tôi, nhưng vẫn tin rằng nó có thể được áp dụng và đi theo hướng của những gì GlenH7 đã đề cập.
Tôi làm việc giữa 3 công ty làm nhiều dự án khác nhau. Các công ty là chị em của nhau với một số thực tiễn tiêu chuẩn và phương pháp làm việc, nhưng cũng là duy nhất theo nhiều cách. Như đã nói, tôi thường bắt đầu mỗi dự án mới và muốn hoàn thành nó hoặc hiển thị tiến độ. Sau đó, nếu tôi chạy vào một kịch bản mà tôi nhớ một đoạn mã hoặc chức năng mà tôi đã viết cho một dự án trước đó, tôi sẽ thực hiện một trong hai điều (phụ thuộc vào thời gian):
- Phương pháp nhanh nhất
Sao chép mã trước đó từ dự án khác (không có nhiều thời gian) vào dự án hiện tại của tôi.
Phương pháp nhanh thứ hai
Sao chép mã trước đó và đặt nó vào một thư viện chung, sau đó đưa thư viện đó vào dự án hiện tại (để làm cho việc di chuyển về phía trước dễ dàng hơn).
2b. Nếu tôi thay đổi dự án (bản gốc) khác, tôi sẽ cấu trúc lại nó để sử dụng thư viện mới [nhưng thường sẽ không làm như vậy trừ khi tôi phải chạm lại vào dự án đó].
Chỉ cần được cảnh báo, kiểm tra quái vật ra khỏi các thư viện phổ biến. Thư viện phổ biến có nghĩa là tạo ra sự phụ thuộc. Sự phụ thuộc tạo ra điểm thất bại. Mặc dù bạn có thể cần một chút gì đó được điều chỉnh một chút cho việc triển khai hiện tại của mình, nhưng bạn không biết nó sẽ thay đổi bất cứ điều gì khác khi sử dụng thư viện đó.