2015-10-05 14 views
9

Tôi đang gặp khó khăn trong việc thuyết phục những người khác trong tổ chức của mình để ngừng bẻ khóa tệp bừa bãi khi thanh toán. Bất kỳ ý tưởng nào mà tôi có thể tìm thấy tài liệu "chính thức" giải thích tại sao một khóa thanh toán nên được sử dụng một cách tiết kiệm? Microsoft khuyến cáo:Thực hành tốt nhất về khóa thanh toán TFS

Là một thực hành tốt nhất, sử dụng tùy chọn loại Khóa với sự thận trọng và thông báo cho đồng đội của bạn lý do tại sao bạn đang khóa một mục, và khi bạn có kế hoạch để loại bỏ các khóa.

nhưng không đi vào chi tiết nào.

Bất kỳ điều gì tôi có thể trỏ đến sẽ rất hữu ích.

+1

Tôi nghĩ điều đó phụ thuộc vào ngôn ngữ/nền tảng của bạn cho dù bạn khóa tệp hay không, trong tổ chức của chúng tôi, chúng tôi sử dụng TFS với Microsoft Access, điều này gần như không thể hợp nhất thành công tệp, vì vậy chúng tôi chỉ khóa tệp để ngăn các thay đổi khác xảy ra trong khi chúng tôi thực hiện thay đổi. – Siada

Trả lời

8

Mặc dù tôi không có nguồn chính thức của Microsoft, tôi là một MVP trong Quản lý vòng đời ứng dụng, vì vậy hy vọng điều đó đủ để làm cho điều này hấp dẫn. :)

Khóa tệp văn bản (ví dụ: mã) khi trả phòng có thể là trở ngại lớn đối với năng suất. Tôi đã nhìn thấy nó bản thân mình khi tôi đã làm việc tại một thời gian một đồng nghiệp không được, và họ đã có một khóa độc quyền trên một tập tin. Đột nhiên, đó là thời gian ngắn ngủi. Nó thậm chí còn tồi tệ hơn khi bạn đang cố gắng khắc phục hoặc khắc phục vấn đề thời gian quan trọng.

Lý do phổ biến nhất khiến mọi người muốn khóa tệp để chỉnh sửa độc quyền là vì họ không muốn phải thực hiện quá trình hợp nhất lộn xộn sau này.

Đó thường là triệu chứng của một hoặc nhiều điều:

  • Các tập tin được độc quyền khóa là quá lớn (một tập tin với nhiều lớp trong đó, một "lớp học thần" mà không quá nhiều thứ, vv). Độ phân giải cho vấn đề này là để tái cấu trúc mã thành các lớp nhỏ hơn, cô lập hơn theo Nguyên tắc trách nhiệm duy nhất. Hoặc, nếu bạn hoàn toàn phải, và bạn đang làm việc trong thế giới .NET, hãy lạm dụng từ khóa partial để phân chia cùng một lớp lên trên nhiều tệp, mặc dù tôi muốn ghi lại và nói rằng mỗi khi tôi thấy điều này trong một codebase nó làm cho tôi khóc một giọt nước mắt của nỗi buồn vô hạn.
  • Các tệp đang bị khóa độc quyền đang ở giữa quá trình tái cấu trúc lớn, dài hạn. Giải pháp ở đây là để cô lập những thay đổi lớn trong các nhánh, với sự tích hợp đảo ngược thường xuyên các thay đổi từ thân cây trở lại nhánh cây.
  • Người thực hiện thay đổi này không thích hợp nhất. Tôi không thể giúp bạn với cái đó. Nếu bạn đang nắm giữ mã mà không cam kết trong một thời gian đủ dài mà hợp nhất sẽ trở nên đau đớn, bạn không cam kết mã của bạn đủ thường xuyên. Nếu bạn không cam kết mã của bạn bởi vì nó chưa được thực hiện, nhưng thay đổi đang diễn ra và bạn không muốn can thiệp vào công việc của người khác, thì bạn không sử dụng đúng nhánh.

Có thể có thời điểm khi khóa độc quyền đối với tệp mã là tốt và hữu ích không? Có lẽ, nhưng tôi không thể nghĩ về một vấn đề mà nó địa chỉ mà không thể được giải quyết bằng cách sử dụng các tính năng kiểm soát nguồn khác thích hợp hơn.

Sử dụng không gian làm việc cục bộ nếu bạn có thể, vì chúng không thực thi khóa độc quyền.

Các vấn đề liên quan