[R] Google's R Style Guide
Duncan Murdoch
murdoch at stats.uwo.ca
Mon Aug 31 12:48:58 CEST 2009
baptiste auguie wrote:
> 2009/8/31 David Scott <d.scott at auckland.ac.nz>
>
>
>> I think this discussion is valuable, and have previously asked about style
>> which I think is very important. Base R does suffer from very inconsistent
>> naming and as I think Duncan said it makes it very difficult sometimes to
>> remember names when you have variations in case and separators as with
>> things related to system.
>>
>> David
>>
>>
>>
> Is it a foolish idea to think that perhaps code could be checked and
> re-formatted automatically when building a package?
>
Building a package is the wrong time: this is something that should be
done by the author, to the source, before building, but it's quite
hard. What you're talking about is a "pretty printer" or "code
beautifier". One tricky bit is handling comments, another is handling
idiosyncratic formatting. For example, I often line up things on
successive lines just so that it's easy to see differences I consider
important, e.g. in tables of constants, etc.
Duncan Murdoch
> Say, I write a function like this,
>
> this.is.my.name = function(
> a = 1,b=2,
> # i'm a comment
> z=F)
> {
> if(T)
> {
> print("true")
> } else
> {
> print("else")
> }
>
> }
> package.skeleton automatically converts the first "=" sign to "<-" and
> sometimes also adds backquotes `` to protect the function name. Could this
> be extended in a few ways,
>
> 1- rationalise the function naming scheme, e.g convert every function name
> to camelCase (and provide aliases not to break dependencies)
>
> 2- indent the code and add spaces around commas
>
> 3- tidy up the position of braces to make it consistent
>
> 4- convert T and F to TRUE and FALSE, this sort of things
>
> 5- finally, run a comparison of the two versions to check that the behaviour
> is as intended.
>
> 1,2,3 could be tuned according to a template that the user chooses for a
> given package (some may prefer underscores, etc.)
>
>
> Perhaps I'm dreaming a bit here, this sounds like meta-programming.
>
>
> Best,
>
> baptiste
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list