2016-10-05 15 views
5

Theo hiểu biết của tôi, khi hai nhà phát triển làm việc trên cùng một dự án, nhưng sử dụng các kiểu mã hóa khác nhau, không có cách tích hợp trong GIT để thống nhất các nguồn cam kết. Nêu tôi sai vui long chân chỉnh tôi.Định dạng mã trước khi cam kết GIT

Tôi có nên yêu cầu tất cả nhà phát triển định dạng mã với cùng một kiểu không?

Tôi có thể yêu cầu GIT bằng cách nào đó định dạng mã theo cùng một kiểu đó không? Có thể đạt được định dạng mã tự động với BitBucket không?

+0

"Tôi có nên yêu cầu tất cả nhà phát triển định dạng mã với cùng một kiểu không?" Hoàn toàn đồng ý. Chọn một hướng dẫn phong cách và gắn bó với nó cho dự án. Nếu bạn xem xét mã, hãy bao gồm kiểu mã như một phần của bài đánh giá. Nếu có một công cụ tự động kiểm tra mã đối với một số tiêu chuẩn cho ngôn ngữ của bạn, hãy sử dụng nó. – Chris

Trả lời

1

Theo như tôi được thông báo, BitBucket không có tính năng này.

Nhưng tôi nghĩ bạn nên tìm một phong cách chung, để cung cấp sự thay thế nhanh chóng.

Vì điều này đôi khi hữu ích khi sử dụng IDE với các tính năng định dạng tích hợp và chia sẻ cài đặt, nếu điều này là có thể. Tôi nghĩ Eclipse sẽ là một giải pháp tốt, vì có rất nhiều ngôn ngữ được hỗ trợ.

Trong trường hợp của nhóm chúng tôi, chúng tôi đang sử dụng MS Visual Studio và Allmann Style, vì nó được hỗ trợ nguyên bản bởi tự động định dạng.

1

Bạn có thể cài đặt trước một cam kết hook trên mỗi máy phát triển và chạy một linter mà bạn chọn để ngăn nhà phát triển cam kết nếu mã nguồn không khớp với tiêu chuẩn nhóm.

Điểm bất lợi là cơ chế này có thể được các nhà phát triển outsmart bằng cách đơn giản là không cài đặt móc cục bộ.

Vì vậy, bổ sung linter nên được chạy như là một phần của quá trình xây dựng và làm cho xây dựng thất bại nếu mã không được định dạng đúng.

4

Tôi có nên yêu cầu tất cả nhà phát triển định dạng mã với cùng một kiểu không?

Vâng, đó là một ý tưởng hay.

Các dự án thường có nguyên tắc về kiểu mã hóa để giảm nguy cơ xảy ra sự cố này. Đây có thể từ rất lỏng lẻo đến rất nghiêm ngặt. Hướng dẫn bao gồm, nhưng không giới hạn đối với bố cục và định dạng.

Hầu hết các nhà phát triển tôi đã làm việc cùng đều rất vui khi áp dụng phong cách của dự án trong tầm tay, ngay cả khi đó không phải là phong cách cá nhân của họ. Điều này là tốt hơn. Nó hỗ trợ khả năng đọc và giảm khả năng "sửa lỗi định dạng" được trộn lẫn với các thay đổi thực tế. Nếu tôi đang chỉnh sửa mã không có hướng dẫn về phong cách cụ thể, tôi sẽ cố gắng tuân theo phong cách hiện tại càng nhiều càng tốt.

Điều tồi tệ nhất mà nhà phát triển của bạn có thể làm là chạy toàn bộ tệp nguồn thông qua trình định dạng tự động với quy tắc bố cục của riêng họ trước khi cam kết. Điều này có thể gây ra những thay đổi sâu rộng ở những nơi không thực sự liên quan đến công việc họ đang làm, và luôn dẫn đến các xung đột hợp nhất đau đớn khi bạn làm việc trong nhiều nhánh.

Tôi có thể yêu cầu GIT bằng cách nào đó định dạng mã theo cùng một kiểu không? Có thể đạt được định dạng mã tự động với BitBucket không?

Tôi sẽ trả lời câu hỏi này bằng cách thách thức lý do bạn muốn thực hiện điều đó. Hãy cẩn thận về việc có các móc cam kết tự động định dạng hoặc từ chối các cam kết dựa trên kiểu "không chính xác".

Đây là những đánh giá mã dành cho, và luôn có ngoại lệ trong mã mà con người sẽ làm tốt hơn (ví dụ: trong đất C++, clang-format chủ yếu là một công việc tuyệt vời nhưng hút mọi thứ liên quan đến danh sách khởi tạo không tầm thường). Buộc tất cả mọi người chấp nhận việc giải thích của máy có khả năng chỉ cản đường.

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