Tôi đang phát triển một API với nhiều phương thức được đặt tên giống hệt nhau theo chữ ký, mà tôi đoán là khá phổ biến. Tất cả đều làm điều tương tự, ngoại trừ việc chúng khởi tạo các giá trị khác nhau theo mặc định nếu người dùng không muốn chỉ định. Như một ví dụ về tiêu hóa, hãy xem xétTái sử dụng Javadoc và các phương pháp quá tải
public interface Forest
{
public Tree addTree();
public Tree addTree(int amountOfLeaves);
public Tree addTree(int amountOfLeaves, Fruit fruitType);
public Tree addTree(int amountOfLeaves, int height);
public Tree addTree(int amountOfLeaves, Fruit fruitType, int height);
}
Hành động thiết yếu được thực hiện bởi tất cả các phương pháp này đều giống nhau; một cây được trồng trong rừng. Nhiều điều quan trọng mà người dùng API của tôi cần biết về việc thêm cây giữ cho tất cả các phương pháp này.
Lý tưởng nhất, tôi muốn viết một khối Javadoc được sử dụng bởi tất cả các phương pháp:
/**
* Plants a new tree in the forest. Please note that it may take
* up to 30 years for the tree to be fully grown.
*
* @param amountOfLeaves desired amount of leaves. Actual amount of
* leaves at maturity may differ by up to 10%.
* @param fruitType the desired type of fruit to be grown. No warranties
* are given with respect to flavour.
* @param height desired hight in centimeters. Actual hight may differ by
* up to 15%.
*/
Trong trí tưởng tượng của tôi, một công cụ kỳ diệu có thể chọn các @params áp dụng đối với mỗi người trong số các phương pháp, và do đó tạo ra tài liệu tốt cho tất cả các phương pháp cùng một lúc.
Với Javadoc, nếu tôi hiểu chính xác, tất cả những gì tôi có thể làm là sao chép & dán cùng khối javadoc năm lần, chỉ với một danh sách tham số hơi khác nhau cho mỗi phương pháp. Điều này nghe có vẻ cồng kềnh với tôi, và cũng rất khó để duy trì.
Có cách nào xung quanh điều đó không? Một số phần mở rộng cho javadoc có loại hỗ trợ này? Hoặc là có một lý do chính đáng tại sao điều này không được hỗ trợ mà tôi đã bỏ lỡ?
Câu hỏi hay và được mô tả tuyệt vời, cảm ơn. –