2012-05-04 10 views
9

Cách thành ngữ để kiểm tra và ghi lại các điều kiện tiên quyết và điều kiện chức năng trong R là gì? Tôi sẽ xem xét Eiffel được xây dựng trong các họa tiết requireensure hoặc D 'inout khối trạng thái tại đây, nhưng hầu hết các ngôn ngữ đều không có các thứ này để phát triển các phương pháp hay nhất để ước tính chúng.Cách thành ngữ để kiểm tra và ghi lại các điều kiện tiên quyết và postconditions trong R là gì?

Bằng cách kiểm tra điều kiện tiên quyết, tôi có nghĩa là ném một số loại ngoại lệ thời gian chạy nếu dữ liệu không đáp ứng các giả định chức năng được truyền vào. Hiện tại có tuyên bố stopifnot cho mọi điều kiện tiên quyết mà tôi có thể nghĩ lúc bắt đầu chức năng. Điều tương tự cũng áp dụng cho postconditions, nhưng đối với giá trị trả về thay vì các tham số.

Hơn nữa, có cách nào tiêu chuẩn để ghi lại những điều kiện tiên quyết và postconditions này là gì không? Ví dụ, nó là khá chuẩn để đánh vần chúng trong các bình luận JavaDoc trong Java.

Các phương pháp hay nhất về R theo khía cạnh này là gì?

Trả lời

2

Về tài liệu tôi sẽ khuyên bạn hãy nhìn vào gói roxygen2. Nó có thể so sánh với JavaDoc và Doxygen ở chỗ nó lưu trữ tài liệu trong tệp nguồn cùng với mã. Có một số vật phẩm cần phải được xác định, ví dụ:

  • các đối số đầu vào là gì
  • gì chức năng trở lại

Nhưng điều này không ngăn cản bạn từ việc tạo riêng của bạn prepost các mục ghi lại các điều kiện trước và sau. Để biết thêm thông tin về số roxygen2, hãy xem CRAN hoặc StackOverflow.

2

Xem ?stopifnot

hoặc

cho các thông báo lỗi thân thiện hơn nhưng mã verbose hơn if (condition) stop("...message...").