Quy ước đặt tên biến và chức năng nào bạn thích trong mã R?Phong cách ưa thích của bạn cho các biến đặt tên trong R là gì?
Theo như tôi có thể nói, có những công ước khác nhau, tất cả đều cùng tồn tại trong hòa cacophonous:
1. Sử dụng phân kỳ, ví dụ
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
Ưu điểm: Có ưu tiên lịch sử trong cộng đồng R, phổ biến trong suốt lõi R, và khuyến cáo của Google's R Style Guide.
Nhược điểm: đầy rẫy những ý nghĩa hướng đối tượng, và khó hiểu đối với người mới R
2. Sử dụng dấu gạch
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
Ưu điểm: Một quy ước chung trong nhiều langs lập trình; được ưa chuộng bởi Hadley Wickham's Style Guide và được sử dụng trong các gói ggplot2 và plyr.
Nhược điểm: Không sử dụng lịch sử bởi các lập trình viên R; là khó chịu ánh xạ tới '< -' nhà điều hành trong Emacs-Speaks-Thống kê (có thể thay đổi với 'ess-toggle-underscore').
3. Sử dụng vốn hỗn hợp (camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
Ưu điểm: dường như đã áp dụng rộng rãi trong nhiều cộng đồng ngôn ngữ.
Nhược điểm: Có tiền lệ gần đây, nhưng không được sử dụng trước đây (trong cơ sở R hoặc tài liệu của nó).
Cuối cùng, như thể không đủ khó hiểu, tôi phải chỉ ra rằng Hướng dẫn kiểu Google tranh luận về ký hiệu dấu chấm cho các biến, nhưng viết hoa hỗn hợp cho các hàm.
Việc thiếu phong cách nhất quán giữa các gói R có vấn đề ở nhiều cấp độ. Từ quan điểm của nhà phát triển, nó làm cho việc duy trì và mở rộng mã của người khác trở nên khó khăn (đặc biệt là phong cách của nó không phù hợp với chính bạn). Từ quan điểm của người dùng R, cú pháp không nhất quán làm dốc đường cong học tập của R, bằng cách nhân các cách mà một khái niệm có thể được biểu diễn (ví dụ như hàm đúc ngày tháng asDate(), as.date(), hoặc as_date()? Ngày()).
Ngoài ra còn có trường hợp của MATLAB phong cách 'alllowercase' tên biến, và rất nhiều tên rất ngắn thẳng từ-the-phương trình ('x',' y', v.v.) –
gạch dưới giống như python, vì vậy tôi có xu hướng sử dụng dấu gạch dưới. ESS cần được khắc phục, điều đó thực sự ngớ ngẩn. –
Không có gì để sửa, nó có nút bật tắt cho điều đó. Nhưng _default behaviour_ là để giải thích dấu gạch dưới dưới dạng một phím tắt cho <- tiết kiệm cho bạn một phím bấm. Vì vậy, nếu bạn xuất bản các biến với dấu gạch dưới (Hi, Hadley), bạn buộc mọi người dùng ESS nhấn _ hai lần để nhận bahaviour gốc - hoặc để tùy chỉnh thiết lập ESS của họ. tôi vẫn thích CamelCase bởi một hải lý mới. –