Tôi có một lớp Java như thế này:Ghi vào trường tĩnh - có phải FindBugs sai trong trường hợp này không?
public class Foo {
public static int counter = 0;
public void bar(int counter) {
Foo.counter = counter;
}
}
FindBugs cảnh báo tôi về văn bản cho lĩnh vực tĩnh counter
qua phương pháp dụ bar
. Tuy nhiên, nếu tôi thay đổi mã thành:
public class Foo {
public static int counter = 0;
public static void setCounter(int counter) {
Foo.counter = counter;
}
public void bar(int counter) {
setCounter(counter);
}
}
Sau đó FindBugs sẽ không phàn nàn. Điều đó có sai không? Tôi vẫn đang viết một trường tĩnh từ một phương thức thể hiện, chỉ thông qua một phương thức tĩnh, tôi có phải không?
Hãy cho tôi biết khi công cụ tự động trở thành có thể phát hiện tất cả các loại lỗi lập trình, vì vậy tôi có thể bắt đầu tìm kiếm một sự nghiệp mới. – NullUserException
Nhưng nó chỉ là một loại trong trường hợp này. : P Tôi mới sử dụng công cụ đó và chưa biết kết quả đáng tin cậy của nó như thế nào. :) – htorque
Nếu FindBugs phát ra cảnh báo, bạn nên xem xét vấn đề. Nhưng điều đó không có nghĩa là nếu FindBugs không phát ra bất kỳ cảnh báo nào, thì mã của bạn là hoàn hảo và không có lỗi. –