Gần đây tôi đã bắt đầu làm việc cho một khách hàng mới với một cơ sở mã cũ, trong đó có nhiều giải pháp .net, mỗi giải pháp thường lưu trữ một số dự án duy nhất cho giải pháp đó nhưng sau đó "mượn" / "liên kết trong" (thêm dự án hiện tại) một số dự án khác về mặt kỹ thuật thuộc về các giải pháp khác (ít nhất là nếu bạn đi theo cấu trúc thư mục trong TFS)
Tôi chưa bao giờ thấy một thiết lập này đan xen, không có thứ tự xây dựng rõ ràng, đôi khi một dự án trong giải pháp A chỉ tham chiếu dlls trực tiếp từ thư mục đầu ra của dự án được lưu trữ trong giải pháp B, đôi khi dự án chỉ được đưa vào trực tiếp ngay cả khi nó nằm trong đó FAR đi trong cấu trúc thư mục.
Có vẻ như mọi thứ đã được tối ưu hóa cho sự lười biếng của nhà phát triển.
Khi tôi đối mặt với họ tại sao họ không có máy chủ CI, họ trả lời rằng thật khó để thiết lập mã được tổ chức như vậy. (Tôi đang thiết lập nó bây giờ và nguyền rủa tổ chức mã này)
Các giải pháp được tổ chức xung quanh các tạo phẩm triển khai (những thứ cần được triển khai cùng nằm trong cùng một giải pháp) mà tôi nghĩ là một quyết định sáng suốt, nhưng nội dung của các giải pháp đó (các dự án) ở khắp mọi nơi.
Có sự đồng thuận về một cách thực hành tốt nhất để sử dụng khi sử dụng lại các thư viện lớp chung trên nhiều giải pháp / tạo phẩm triển khai không,
- Cách cấu trúc mã trong VCS
- Làm cách nào để tạo điều kiện chia sẻ logic nghiệp vụ giữa các tạo phẩm triển khai riêng biệt