2011-03-09 48 views
11

Tôi không muốn viết nhận xét javadoc thừa. Như bạn có thể thấy, @param x là một cách dư thừa. Có đánh dấu javadoc nào để đặt tham chiếu từ @param x trong lớp B đến @param x trong lớp A hoặc tôi có được phép bỏ qua nó không?Tham số tham chiếu Javadoc từ phương thức khác

/** 
* Class A constructor 
* 
* @param x position on x-axis 
*/ 
public A(final int x) { 
    this.x = x; 
} 

/** 
* Class B constructor 
* 
* @param x position on x-axis 
* @param y position on y-axis 
*/ 
public B(final int x, final int y) { 
    super(x); 
    this.y = y 
} 
+0

Tôi sẽ lùi lại một bước và hỏi tại sao bạn đang ghi lại các tham số dường như có ý nghĩa rõ ràng. Nếu mã là tự tạo tài liệu dựa trên tên bạn chọn, JavaDoc phần lớn là không liên quan. –

+0

@John Đây là một ví dụ tối thiểu, chỉ để minh họa. – Matthias

+0

Lưu ý cho chính tôi: [{@inheritDoc}] (http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javadoc.html#inheritingcomments) ít nhất là cho phép sao chép tài liệu của một phương pháp ghi đè . – Matthias

Trả lời

3

Bạn không thể để nó ra, javadoc là không thông minh, nó chỉ phân tích các ý kiến, ông không thể nói rằng các tham số x cho các nhà xây dựng B là như nhau so với một nhà xây dựng ngay cả khi có là thừa kế trong vở kịch.

Tôi không nghĩ rằng có một cách để "yếu tố hóa" điều này. Bạn chỉ cần viết tất cả chúng, xin lỗi ...

1

Với các phương thức nó sẽ hoạt động: nếu bạn ghi đè hoặc thực hiện một phương pháp, các tham số sẽ được sao chép nếu không được cung cấp.

Các nhà xây dựng không được kế thừa, và thậm chí ít hơn cho một nhà xây dựng với các kiểu tham số khác. Javadoc không có cách nào để biết rằng bạn truyền tham số cho một hàm tạo khác, vì nó không giải thích nội dung của các phương thức/các hàm tạo, chỉ có giao diện bên ngoài. Vì vậy, tôi giả sử bạn không may mắn, nếu bạn không muốn viết doclet của riêng bạn hoặc thay đổi doclet chuẩn (và thậm chí sau đó bạn sẽ phải bằng cách nào đó nói constructor nào kế thừa các tham số từ). (Đây sẽ là một bổ sung hữu ích, cũng như cho nhiều phương thức tương tự trong cùng một lớp, tôi nghĩ vậy.)

1

Nếu bạn ghi đè phương thức cha mẹ, nếu bạn không bao gồm hầu hết các IDE, javadoc sẽ hiển thị javadoc thay vào đó là phương thức gốc. Nếu không, không có cách nào để xác định/tham chiếu đến các biến trong cú pháp javadoc.

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