2009-12-12 24 views
5

Ở khắp mọi nơi trên internet mọi người nói rằng bạn nên tránh sử dụng các tuyên bố nhãn trong java. Tuy nhiên, tôi thấy chúng rất hữu ích trong một số trường hợp, cụ thể là vòng lặp lồng nhau.
Tôi không thể tìm thấy câu trả lời thỏa đáng về lý do tại sao không sử dụng chúng. Tôi nghĩ rằng các lựa chọn thay thế cho nhãn thường làm giảm khả năng đọc hoặc hiệu suất hoặc cả hai.Tại sao tôi nên tránh sử dụng Báo cáo Nhãn Java?

Vì vậy, điều gì làm cho việc gắn nhãn được gắn nhãn và tiếp tục phát biểu quá tệ?

+0

Dường như trùng lặp. Kiểm tra this sateesh

+0

http://stackoverflow.com/questions/46496/ –

+0

Tôi nghĩ rằng đây sẽ là một cuộc thảo luận thú vị hơn nhiều nếu bạn cung cấp một số mã hiển thị, trong phản đối của bạn, chỉ cần sử dụng nhãn. – Buhb

Trả lời

9

Nhãn hoàn toàn ổn khi thoát ra khỏi vòng lặp lồng nhau.

 

PS: cá nhân, tôi muốn đề nghị (và tôi phù hợp với Kent Beck về vấn đề này, xem cuốn sách implementation patterns của mình) để đặt vòng lồng nhau trong một phương pháp riêng biệt và sau đó thoát ra khỏi với return nhưng điều đó sẽ gây ra sự tức giận của những người "trở về một điểm" trên tôi. Internet, oh, internet.

+2

+1 để được tư vấn tốt và đặc biệt là khinh miệt vì những điều vô lý tôn giáo. –

1

Tôi tìm thấy cả hai ngắt được gắn nhãn và tiếp tục sao kê hoàn toàn không cần thiết. Nó chỉ là một thứ phong cách. Có nhiều cách khác để đạt được kết quả tương tự và nhiều người thích những kết quả đó.

0

Không cần phải tránh nhãn miễn là phương pháp chỉ thực hiện một việc, một điều duy nhất và thực hiện tốt.

Tuy nhiên, nếu có nhu cầu về thời gian nghỉ có gắn nhãn và tiếp tục, hãy thực hiện kiểm tra tâm thần nhanh nếu phương pháp vẫn đủ gắn kết.

1

Đối số phổ biến nhất là chúng khó giải thích cho người mới bắt đầu. Một lập luận khác là (quá nhiều) vòng lặp lồng nhau được coi là thực hành không tốt; nói cách khác, khi bạn nhìn thấy một nhãn, sau đó gần như chắc chắn một vòng lặp lồng nhau và điều đó làm cho nhãn do đó ngầm hoàn toàn xấu. Thực hành phổ biến là các vòng lặp lồng nhau được tái cấu trúc thành một phương thức. Điều này sẽ cải thiện khả năng bảo trì và những thứ khác như thế. Tuy nhiên, nếu vòng lặp lồng nhau không làm những việc khác ngoài điều hiển nhiên chỉ trong một vài dòng mã, thì đó là ý kiến ​​của tôi hoàn toàn phải chăng.

Các vấn đề liên quan