R 코드에서 선호하는 변수 및 함수 명명 규칙은 무엇입니까?
내가 말할 수있는 한, 몇 가지 다른 관습이 있으며, 모두 불협화음으로 공존합니다.
1. 마침표 구분자 사용, 예 :
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
장점 : R 커뮤니티에서 역사적 우선 순위를 가지며 R 코어 전체에 널리 퍼져 있으며 Google의 R 스타일 가이드에서 권장합니다 .
단점 : 객체 지향적 의미가있는 Rife 및 R 초보자에게 혼란
2. 밑줄 사용
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
장점 : 많은 프로그래밍 언어의 공통 관례입니다. Hadley Wickham의 Style Guide가 선호 하며 ggplot2 및 plyr 패키지에 사용됩니다.
단점 : 역사적으로 R 프로그래머가 사용하지 않았습니다. Emacs-Speaks-Statistics ( 'ess-toggle-underscore'로 변경 가능)의 '<-'연산자에 성가 시게 매핑됩니다.
3. 혼합 대문자 사용 (camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
장점 : 여러 언어 커뮤니티에서 널리 채택되는 것으로 보입니다.
단점 : 최근 선례가 있지만 역사적으로 사용되지 않았습니다 (R 기반 또는 문서에서).
마지막으로, 충분히 혼란스럽지 않은 것처럼 Google 스타일 가이드는 변수에 대한 점 표기법을 주장하지만 함수에 대한 혼합 대문자를 주장한다는 점을 지적해야합니다.
R 패키지 전반에 걸쳐 일관된 스타일의 부족은 여러 수준에서 문제가됩니다. 개발자의 관점에서 보면 다른 사람의 코드를 유지하고 확장하기가 어렵습니다 (특히 스타일이 자신의 스타일과 일치하지 않는 경우). R 사용자의 관점에서 볼 때 일관성없는 구문은 개념을 표현할 수있는 방법을 곱하여 R의 학습 곡선을 가파르게합니다 (예 : 날짜 캐스팅 함수 asDate (), as.date () 또는 as_date ()?) 아니요, 그대로입니다. 데이트()).
ImfDataTransformed
또는 자연 확장 버전 IMFDataTransformed
은 내가 선호하는 TOGGLEcamelCase만큼 읽기 쉽지 않습니다. IMFdataTransformed
...
alllowercase
변수 이름 및 직선에서 - 더 - 방정식 아주 짧은 이름의 많음 (x
,y
, 등).