tôi có phương pháp Java sau:PMD UselessParentheses vi phạm
private int calculate() {
return (bytes[0] & 0xff) + ((bytes[1] & 0xff) << 8);
}
PMD phàn nàn về mã này với "UselessParentheses" vi phạm.
Tôi đã xem xét operator precentence rules và tôi vẫn không thấy dấu ngoặc đơn thừa trong mã đó. Tui bỏ lỡ điều gì vậy?
Di ngoặc trong khối này: (byte [0] & 0xff) – eg04lt3r
Quan trọng hơn, thậm chí nếu có một cặp thừa ngoặc (Tôi không thể nhìn thấy bất kỳ), mã sẽ ít có thể đọc được nếu không có nó. Cách này được viết truyền tải chính xác những gì logic của bạn là có nghĩa là để làm. – biziclop
Xin lỗi, lỗi của tôi, xóa dấu ngoặc đơn trong (byte [0] & 0xff). Hoặc bạn có thể thêm cảnh báo ngăn chặn cho PMD cho phương pháp này. – eg04lt3r