Cách tốt nhất để chia sẻ tệp nguồn Delphi giữa các dự án là gì?Cách tốt nhất để chia sẻ các tệp nguồn Delphi giữa các dự án là gì?
Làm rõ: Chúng tôi muốn sử dụng một tệp nguồn duy nhất trong nhiều dự án Delphi. Chúng tôi đã sử dụng công cụ SCM của chúng tôi để đặt cùng một tệp vào nhiều thư mục, nhưng đây không phải là trải nghiệm siêu thanh lịch và chúng tôi cũng đang cân nhắc việc chuyển sang công cụ không hỗ trợ điều này.
Khi tôi đang điều tra câu hỏi này, tôi đã xem xét một vài cách tiếp cận khác nhau, nhưng tôi muốn biết bạn đang làm gì và cách bạn tìm cách tiếp cận của mình.
kịch bản quan trọng:
- Mã thời gian
- Thêm một sự phụ thuộc chia sẻ mới nên yêu cầu tuyên bố rõ ràng, vì vậy chia sẻ được quản lý.
- Việc thêm phụ thuộc chia sẻ mới sẽ vẫn tương đối đơn giản; nó không nên đòi hỏi một quá trình phức tạp.
- Một tệp liệt kê tất cả các tệp "đã nhập" của dự án (từ bên ngoài) sẽ đẹp.
- Compile-time
- Tất cả các dự án phải luôn luôn xây dựng với một trong những phiên bản hiện tại (hiện tại như tình trạng nguồn đồng bộ cộng với chỉnh sửa địa phương).
- (Duy trì các phiên bản khác nhau tại các địa điểm khác nhau nên sử dụng tập tin phân nhánh, mà không phải là chủ đề, ở đây.)
- Dù từng dự án nên có thể ảnh hưởng đến biên soạn các tập tin chia sẻ với các thiết lập trình biên dịch khác nhau (bao gồm cả cờ) là đáng tranh cãi.
- Có thể dễ dàng bảo trì mã nguồn (tức là lâu dài) luôn được xây dựng một cách nhất quán.
- Có thể dễ dàng thực hiện các sửa chữa bảo trì (ví dụ: ngắn hạn) nếu phạm vi thay đổi nói trên có thể dễ dàng bị hạn chế đối với một dự án.
- Tất cả các dự án phải luôn luôn xây dựng với một trong những phiên bản hiện tại (hiện tại như tình trạng nguồn đồng bộ cộng với chỉnh sửa địa phương).
- Debug-thời gian
- Các phiên bản đúng của nguồn sẽ tự động mở, khi bước vào một thói quen hoặc thiết lập một breakpoint.
- Chỉnh sửa nguồn được hiển thị sẽ ảnh hưởng đến bản dựng tiếp theo.
- Chúng tôi không muốn gỡ lỗi đối với bản sao tạm thời của nguồn: có thể chúng tôi sẽ mất mã, trong sự nhầm lẫn.
Lưu ý:
- Gần-Term:
- cách tiếp cận nào sẽ được đơn giản nhất để đưa ra?
- Long-Term:
- cách tiếp cận sẽ là gì đơn giản nhất để sử dụng và duy trì?
Cảm ơn, trước, cho phản hồi của bạn!
Mattias
--- Cập nhật ---
Cảm ơn phản hồi của bạn, qua câu trả lời, nhận xét và phiếu!
Tôi đã bắt đầu xuống đường dẫn đưa tệp được chia sẻ vào một dự án "nhà sản xuất" và nhập danh sách các tệp được biên dịch vào từng dự án "người tiêu dùng". Các dự án đang được liên kết với nhau với MSBuild. Khi mọi thứ được đóng đinh nhiều hơn, tôi sẽ chỉnh sửa câu hỏi này và câu trả lời "Dự án Thư viện" để chia sẻ những gì tôi đã học được.
Hãy chú ý theo dõi! (Nhưng đừng nín thở, bạn sẽ ngộp thở trong vòng vài phút: P)
Tôi sử dụng các dự án thư viện được lưu trữ VỚI kiểm soát nguồn. Đối với các đơn vị chia sẻ, tôi chỉ bao gồm đường dẫn đến thư mục nguồn thư viện trong các đường dẫn tìm kiếm thư viện. – skamradt
Vì tất cả các tệp đều nằm trên đường dẫn thư viện, mỗi dự án của bạn có quyền truy cập vào hầu hết mọi tệp được chia sẻ không? Hay bạn có * nhiều dự án thư viện * mà bạn chỉ chia sẻ một tệp tại một thời điểm? (Và kiểm soát nguồn là hoàn toàn cần thiết! Tôi đã làm rõ những gì tôi có ý nghĩa trong cách tiếp cận khác. :-)) –
Không, đường dẫn tìm kiếm cụ thể của dự án sẽ chăm sóc các thư mục được bản địa hóa, phiên bản hoặc nhóm cụ thể chương trình. Đối với mỗi chương trình hàng ngày phải sử dụng các thói quen, những chương trình đó nằm trong đường dẫn tìm kiếm toàn cầu, – skamradt