2013-09-23 38 views
7

Tôi bắt đầu cuộc phiêu lưu của mình với Sonar;)Không cần thiếtLocalBeforeReturn - tại sao nó xấu?

Sonar với cấu hình mặc định của nó có lỗi PMD UnnecessaryLocalBeforeReturn được đặt ở cấp độ chính.

List<Todo> filtered = em.createQuery(query).getResultList(); 
    return filtered; 

Điều đó có nghĩa là tôi nên thay đổi mã này ở trên một dòng.

Điều này thực sự thú vị đối với tôi vì tôi khuyên các đồng nghiệp của tôi nên làm cho địa phương "không cần thiết" này trước khi trở về.

Tôi nghĩ rằng nó dễ dàng gỡ lỗi. Khi tôi thiết lập điểm ngắt trên đường trả về, tôi chắc chắn rằng khi tôi đến đó, giá trị này sẽ sẵn sàng và tôi không phải chọn lựa trên báo cáo của mình hoặc thực hiện "Step over Expression".

Bên cạnh tôi tin rằng nó có tác động tích cực đến việc giảm điểm trả về theo phương pháp.

Câu hỏi của tôi là: Có một số loại giải thích/thảo luận tại sao lỗi từ các dự án như Checkstyle, PMD, FindBugs, v.v ... được thừa nhận là lỗi không?

+1

Không tệ, chỉ cần không cần thiết. Những công cụ phân tích tĩnh này không đơn giản là gắn cờ các lỗi. Thay vào đó, họ cung cấp hộp công cụ để kiểm tra tất cả các loại sự vật, việc lựa chọn trong đó phụ thuộc vào loại phần mềm bạn đang phát triển. Dự án của bạn có thể yêu cầu bạn làm tất cả mọi thứ trong ít dòng mã nhất có thể, hoặc có thể trình biên dịch đặc biệt của bạn không tối ưu hóa trường hợp này và bạn không thể bổ sung thêm chu kỳ đồng hồ ... sau đó kiểm tra này là dành cho bạn. Khác bạn có thể tắt nó một cách an toàn. –

+0

Đây là câu hỏi có liên quan tốt: http://stackoverflow.com/questions/31733811/local-variables-before-return-statements-does-it-matter/31734226#31734226 –

Trả lời

0

Nếu điểm của bạn chỉ xem nội dung của Danh sách, bạn cũng có thể đặt điểm ngắt trong trình gọi của phương thức. Tùy chọn khác là đặt điểm ngắt và đánh giá giá trị (Eclipse & IntelliJ làm điều đó một cách độc đáo).

Tại sao nó được coi là thực tiễn không tốt?

Bạn chỉ cần thêm tham chiếu vào biến trong khi không cần thiết.

Điều này chỉ làm tăng khối lượng công việc trên Bộ thu gom rác.

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