2009-04-16 26 views
5

Tôi muốn biết liệu có thể có một số nhận xét trong một hàm (c, C++, java) theo cách mà doxygen có thể đặt chúng trong tệp html được tạo ra hay không.Làm cách nào để có thể trích xuất các nhận xét từ bên trong một hàm trong doxygen?

ví dụ:

function(...) 
{ 
do_1(); 
/** 
* Call do_2 function for doing specific stuff. 
*/ 
do_2(); 
} 
+0

bạn có thể đưa ra một ví dụ nhỏ về mã của bạn (với nhận xét) được cho là trông như thế nào và trong tài liệu nào bạn cho rằng các nhận xét sẽ hiển thị? – lothar

Trả lời

7

Không, doxygen không hỗ trợ bình luận khối bên trong cơ thể hoạt động. Từ hướng dẫn sử dụng:

Doxygen cho phép bạn đặt khối tài liệu của bạn ở bất cứ nơi nào (ngoại trừ bên trong cơ thể của hàm hoặc bên trong khối chú thích kiểu bình thường).

Mục: Doxygen documenting the code

+0

Cảm ơn bạn. Tôi không nhận thấy rằng – INS

5

Comments bên trong mã có nghĩa là để giải thích một đoạn thực hiện đặc biệt đối với lập trình viên khác để hiểu, không phải là một tính năng của chức năng cho người sử dụng để đọc về.

Nếu nó phải được làm tài liệu cho người dùng, cần phải thực hiện ouside khối chức năng, trên nhận xét xác định giao diện (chữ ký cũng như điều kiện tiên quyết, postconditions, ví dụ sử dụng hoặc bất cứ điều gì bạn cho là cần thiết).

+0

+1 Đó là lý do tại sao tôi hỏi anh ta làm ví dụ. Để xem khán giả của nhận xét đó có thể là ai. – lothar

+0

Làm thế nào về điều này: Nếu nó được tài liệu cho người dùng thì nó phải ở trong tập tin tiêu đề. Nếu nó là tài liệu cho các nhà bảo trì thì nó phải ở trong tệp c, và ngay cả trong phần nội dung của mã. – Michael

16

tôi không biết cho C nhưng tôi làm điều đó mỗi ngày trong Objective-C, nơi tôi có ý kiến ​​như:

/// This method perform the following operations: 
- (void) myMethodWith: (id) anObjectArgument 
{ 
    /// - do op1 
    [self op1]; 

    /// - do op2 
    op2(anObjectArgument); 
} 

mà ám như:

Phương pháp này thực hiện các hoạt động sau đây:

  • do op1

  • làm op2


Edit:bình luận sau bởi Dana các Sane, liên quan đến sự hiểu biết của tôi về tài liệu Doxygen và tại sao nó không phải là mâu thuẫn với kinh nghiệm của tôi.

Theo như tôi hiểu và giải thích tài liệu Doxygen, điều này không mâu thuẫn với số quote provided by Aaron Saarela. Vào lúc bắt đầu của liên kết ông cung cấp, có một đoạn nói về tài liệu trong cơ thể:

Đối với mỗi mục mã có hai (hoặc trong một số trường hợp ba) loại giới thiệu, mà cùng nhau tạo thành các tài liệu: mô tả ngắn gọn và mô tả chi tiết, cả hai đều là tùy chọn.Đối với phương pháp và chức năng đó cũng là một loại thứ ba của mô tả, cái gọi là "trong cơ thể" mô tả, trong đó bao gồm các nối của tất cả các khối bình luận tìm thấy trong cơ thể của phương pháp hoặc chức năng.

Điều này có nghĩa là bạn có thể đặt tài liệu Doxygen vào một hàm hoặc phương thức. Đây là những gì tôi mô tả trên đầu trang của câu trả lời của tôi.

Theo tôi, đoạn trích dẫn bởi Aaron đề cập đến tài liệu thường được đặt trước chức năng hoặc phương thức khai báo hoặc implementaiton. Đây là mô tả các tham số, giá trị trả về, v.v. Không thể đặt tài liệu tiêu đề vào bên trong nội dung của hàm hoặc phương thức.

Nhưng tài liệu chi tiết liên quan đến từng bước của thuật toán bên trong một cơ thể được xử lý hoàn hảo bởi Doxygen.

+1

Điều này phù hợp với tài liệu mà Aaron liên kết ở trên. Tài liệu có lỗi thời không? –

+4

IIRC, bạn phải khởi động tài liệu của hàm bên ngoài cơ thể, nhưng bạn có thể sử dụng kiểu lập trình biết chữ, trong đó các đoạn về hàm được xen kẽ với nguồn thông qua phần thân của hàm. Thực hiện cẩn thận, kết quả là có thể đọc được rõ ràng cả trong tệp nguồn và trong tài liệu được tạo. – RBerteig

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