phong cách; đặt javadoc trước hay sau chú thích?


183

Tôi biết rằng đó không phải là vấn đề quan trọng nhất, nhưng tôi chỉ nhận ra rằng tôi có thể đặt khối nhận xét javadoc trước hoặc sau chú thích. Điều gì chúng ta muốn áp dụng như là một tiêu chuẩn mã hóa?

/**
 * This is a javadoc comment before the annotation 
 */
@Component
public class MyClass {

    @Autowired
    /**
     * This is a javadoc comment after the annotation
     */
    private MyOtherClass other;
}

Câu trả lời:


191

Trước chú thích, vì chú thích là mã "thuộc về" lớp. Xem ví dụ với javadoc trong tài liệu chính thức.

Đây là ví dụ ngẫu nhiên tôi tìm thấy trong một trang Java chính thức khác :

/**
 * Delete multiple items from the list.
 *
 * @deprecated  Not for public use.
 *    This method is expected to be retained only as a package
 *    private method.  Replaced by
 *    {@link #remove(int)} and {@link #removeAll()}
 */
@Deprecated public synchronized void delItems(int start, int end) {
    ...
}

8
Cũng đáng quan tâm ở đây - chú thích nằm trên cùng một dòng với các vòng loại khác cho phương thức. Tôi chưa bao giờ thấy điều đó được thực hiện trước đây, nhưng dường như gợi ý rằng các chú thích nên được đối xử giống như các vòng loại khác cho một phương thức, và như vậy, javadoc chắc chắn nên đi trước nó.
ArtOfWarfare

8
Đặt các chú thích giống nhau trên cùng một dòng có thể nhanh chóng thoát khỏi tầm tay nếu bạn đang sử dụng một chú thích nặng như Jackson. Tôi đặt mỗi chú thích trên một dòng của riêng nó.
Thế chiến.

17

Tôi đồng ý với câu trả lời đã được đưa ra.

Chú thích là một phần của trong khi javadoc là một phần của tài liệu (do đó là tên).

Vì vậy, đối với tôi nó có đường may hợp lý để giữ các phần mã với nhau.


11

Tất cả đi xuống để sẵn sàng. Theo ý kiến ​​của tôi, mã dễ đọc hơn với Chú thích ngay phía trên phương thức / trường.


11

Ngoài tiêu chuẩn mã hóa, có vẻ như công cụ javadoc không xử lý các bình luận javadoc nếu chúng được đặt sau các chú thích. Hoạt động tốt khác.


0

Tôi đồng ý với tất cả những điều trên. Có thể hữu ích cho những người khác rằng các mẫu kiểu mã của IntelliJ (Idea) thất bại cả về mặt tích cực giả (khi @throws được chỉ định chính xác, nó cảnh báo) và âm tính giả (khi @throws không được chỉ định, nhưng nên được) khi sử dụng kiểu Rest EAS chú thích. Tôi đặt javadocs của tôi lên trên mọi thứ khác, sau đó chú thích, sau đó viết mã.

Xem báo cáo lỗi tại đây: https://youtrack.jetbrains.com/su/IDEA-220520

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.