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.
"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