Tôi nghĩ để trả lời câu hỏi của bạn, trước tiên chúng ta phải xem tại sao xung đột xảy ra, và ý nghĩa thực sự và quá trình hợp nhất là gì?
Mâu thuẫn chỉ xảy ra khi hai hay nhiều nhà phát triển đang làm việc trên cùng một tập tin tại thời và sau đó cả hai đều cố gắng để nhận phòng. Các nhà phát triển đầu tiên sẽ không nhận được bất kỳ xung đột, tất nhiên. Nhưng thứ hai (thứ ba, thứ tư, v.v.) sẽ có xung đột. Tại sao, bởi vì anh ta có một số mã khác một phần hoặc hoàn toàn khác với mã hiện có trên máy chủ.
Điều này về bản chất có nghĩa là nhà phát triển thứ hai có một cái gì đó khác với nhà phát triển đầu tiên. Sự khác biệt này có thể khác nhau từ kiểu dáng, như sử dụng new UserManager().GetUserName()
thay vì UserManager userManager = new UserManager(); userManager.GetUserName();
đến mức bạn đã đề cập, điều đó có nghĩa là cả hai nhà phát triển đều có ý tưởng khác nhau về cách cấu trúc lại mã để cải thiện mã.
Sáp nhập, mặt khác, không có nghĩa là các nhà phát triển có thể đăng ký mã của họ mà không xem xét xung đột. Họ nên và phải giải quyết những xung đột đó. Nếu xung đột không quan trọng, thì họ có thể đăng ký và ghi đè mã trước đó. Nhưng khi họ thấy một cái gì đó hoàn toàn khác, họ nên gọi cho nhà phát triển trước đó và nói chuyện với anh ta, để cả hai có thể phối hợp với nhau để kiểm tra giải pháp tốt nhất.
Ví dụ: nếu bạn yêu cầu hai nhà phát triển cải thiện thư viện thanh toán trực tuyến và công việc của họ chồng chéo, điều này có nghĩa là ít nhất ở một số nơi, có 2 giải pháp khác nhau. Vì vậy, một trong những giải pháp đó nên được nói đến và được chấp nhận, do đó, đăng ký, là giải pháp tốt hơn.
Tôi không đồng ý về việc ngăn chặn những trường hợp này, vì chúng ta nên có xu hướng thực tế hơn là lý thuyết. Đôi khi một anh chàng thực sự giỏi về CSS, trong khi một người khác thực sự giỏi về ASP.NET Markup. Nhưng công việc của họ có thể xung đột khi cả hai nên làm việc trên trang đăng nhập để làm cho nó hoạt động. Ý tôi là, nếu chúng ta nghĩ thực tế (không lý tưởng), chúng ta có thể thấy rằng nhiều lần hiện tượng này (xung đột) xảy ra.
Một điểm khác tôi chỉ muốn đề cập, là sử dụng các công cụ để giúp bạn trong quá trình đăng ký. Các công cụ này thường trực quan hóa sự khác biệt của mã máy chủ và mã nhà phát triển và giúp ích rất nhiều trong việc xác định phần nào cần được đăng ký.