Chẳng phải công việc như sau?
if (methodName.equals("set" + this.name)
|| methodName.equals("get" + this.name)
|| (isBoolean() && methodName.equals("is" + this.name))) {
...
}
Dễ đọc hơn cách bạn sử dụng toán tử bậc ba và dễ hiểu hơn. Nó cũng có lợi thế là nó có thể tránh một cuộc gọi phương thức không cần thiết đến phương thức isBoolean
(nó có các cuộc gọi phương thức 1, 2 hoặc 4 trong khi bạn luôn có 1 hoặc 3; hiệu suất/lỗ có thể quá ít phút để chú ý).
Cũng có một câu hỏi tương tự ở đây có tựa đề "Is this a reasonable use of the ternary operator?" Một người dùng có the following to say:
Nhà điều hành ternary có nghĩa là để trở lại một giá trị.
IMO, không được biến đổi trạng thái và giá trị trả lại sẽ được sử dụng.
Trong trường hợp khác, hãy sử dụng nếu câu lệnh. Nếu báo cáo có nghĩa là để thực hiện khối mã.
Lưu ý rằng tôi bao gồm dấu ngoặc đơn xung quanh biểu thức có chứa '& &' để dễ đọc. Chúng không cần thiết vì x && y
được đánh giá trước m || n
.
Cho dù bạn chọn sử dụng tùy thuộc vào bạn, nhưng tôi có xu hướng tránh nó có lợi cho khả năng đọc.
Bạn có biết các công cụ lập bản đồ Javabean hiện có không? Có ** rất nhiều ** :) – BalusC
Tôi không có bất cứ điều gì đặc biệt quan trọng để đóng góp, nhưng ngay cả khi một người yêu thương nhà điều hành ba năm, tôi phải lưu ý rằng một số người tin rằng nó nên được sử dụng rất hiếm khi. Những người đó có lẽ sẽ pooh-pooh sử dụng của bạn. –
@BalusC: Tuyệt vời đoán về hoạt động JavaBean của tôi. Tôi đang thực hiện nó chỉ cho sở thích và sử dụng cá nhân, làm sạch cú pháp bên trong Beans bằng cách chỉ 'super.property (newValue)' trong mỗi setter. ;-) nhưng tôi biết họ, cảm ơn vì đã đề cập đến. – Pindatjuh