Tôi làm việc trong một dự án lớn (giống như một sự kết hợp lộn xộn của hàng tá dự án nhỏ không thể tách rời do quản lý phụ thuộc kém, nhưng đó là một cuộc thảo luận khác) trong Java bằng cách sử dụng nhật thực. Chúng tôi đã tắt một số cảnh báo từ cài đặt trình biên dịch và dự án vẫn có hơn 10.000 cảnh báo.
Tôi là một người ủng hộ lớn để cố gắng giải quyết tất cả các cảnh báo, khắc phục tất cả chúng nếu có thể, và đối với những người được xem xét và coi là an toàn, hãy đàn áp chúng. (Tương tự với nỗi ám ảnh tôn giáo của tôi với việc đánh dấu tất cả phương thức được thực hiện / ghi đè là @Override). Lập luận lớn nhất của tôi là các cảnh báo thường giúp bạn tìm ra các lỗi tiềm ẩn trong thời gian biên dịch. Có thể trong 99 trên 100 lần, các cảnh báo là không đáng kể, nhưng tôi nghĩ rằng việc gãi đầu rằng nó sẽ tiết kiệm được một lần rằng nó ngăn chặn một lỗi lớn, tất cả đều đáng giá. (Lý do khác của tôi là OCD rõ ràng của tôi với độ sạch mã).
Tuy nhiên, rất nhiều đồng đội của tôi dường như không quan tâm. Thỉnh thoảng tôi sửa các cảnh báo khi tôi tình cờ gặp chúng (nhưng bạn biết điều đó thật khó khăn khi bạn chạm vào mã được viết bởi đồng nghiệp). Bây giờ với nhiều cảnh báo theo nghĩa đen hơn các lớp học, lợi thế của các cảnh báo được giảm thiểu rất nhiều, bởi vì khi các cảnh báo là rất phổ biến, không ai sẽ bận tâm tìm hiểu tất cả chúng.
Làm thế nào tôi có thể thuyết phục đồng đội của mình (hoặc quyền hạn) rằng các cảnh báo cần phải được giải quyết (hoặc bị đàn áp khi điều tra đầy đủ)? Hay tôi nên thuyết phục bản thân rằng tôi điên?
Cảm ơn
(PS Tôi đã quên đề cập đến điều cuối cùng đã khiến tôi đăng câu hỏi này là tôi buồn bã nhận thấy rằng tôi đang sửa các cảnh báo chậm hơn so với chúng được tạo ra)
javac
.
-Wall -Wextra -Werror
(nghĩa là kích hoạt hầu hết các cảnh báo có sẵn, coi tất cả là lỗi). Eclipse C ++ gần như không sử dụng được: /