2010-11-05 23 views
12

Tại sao một số mô tả phương pháp trong Scaladoc bắt đầu bằng [use case]?Scaladoc [use case]

Ví dụ: scala.collection.immutable.StringOps.++

Chỉ là trình giữ chỗ được thay thế trong tương lai?

+0

Tôi thực sự chỉ nhận thấy lý do đằng sau thẻ này, được mô tả trong các ý kiến ​​của câu trả lời được chấp nhận : http://stackoverflow.com/questions/1722726/is-the-scala-2-8-collections-library-a-case-of-the-longest-suicide-note-in-histo/1728140#1728140 –

Trả lời

23

Chúng là những ví dụ đơn giản về cách thức các phương thức này được gọi. Thông thường, các phương pháp này (++, map, flatMap, v.v.) chứa tham số ngầm, thường là đối số được gọi là nhà máy xây dựng (chỉ cần đặt) tóm tắt tạo bộ sưu tập kết quả.

Trong hầu hết các trường hợp, khách hàng của bộ sưu tập không chỉ định các tham số ngầm định này, do đó ScalaDoc cho phép xác định mô tả đơn giản của phương thức - trường hợp sử dụng. Điều này cho phép người dùng nhanh chóng nhận ý tưởng đằng sau phương thức được đề cập và không bị làm phiền với những gì, ví dụ: CanBuildFrom có nghĩa là cách sử dụng.

Ví dụ, đây là việc kê khai đầy đủ các ++:

def ++[B >: A, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That 

Trong hầu hết các trường hợp, các loại bộ sưu tập mục tiêu cũng giống như người nhận cuộc gọi, vì vậy vẻ cuộc gọi khá nhiều, nếu như việc khai báo được như sau (giả sử ++ được định nghĩa trên, nói rằng, List):

def ++(that: TraversableOnce[A]): List[A] 

ở trên, tiềm ẩn đã được giải quyết tại thời gian biên dịch, và các thông số loại là gợi ý đó. Trong hầu hết các trường hợp, điều này nên là quan điểm của khách hàng về phương pháp.

Và nếu bạn muốn chú thích phương pháp của riêng bạn với trường hợp sử dụng, sử dụng thẻ @usecase trong ý kiến ​​doc của bạn:

/** ... 
* ... 
* @usecase def ++(that: TraversableOnce[A]): List[A] 
*/ 
+4

I muốn có một nút ẩn 'use case'. – pedrofurla

+0

Đó có lẽ là một ý tưởng hay. Có lẽ bạn có thể gửi yêu cầu tăng cường tại trang web scala trac. – axel22

+0

Tôi chỉ nhận ra bạn là ai ngay bây giờ. Vì vậy, trả lời đề nghị của bạn: thực sự tôi nên tự mình cam kết. Đây là anh chàng brazillian duy nhất đã tham gia vào Scaladays 2010, và sau đó tôi là người đóng góp Scaladoc2 duy nhất. Rất vui được nghe từ bạn, cổ vũ. – pedrofurla