(Ted Harding) wrote:
On 29-Aug-09 17:51:54, diegol wrote:
Max Kuhn wrote:
Perhaps this is obvious, but Ive never understood why this is the
general convention:
An opening curly brace should never go on its own line;
I tend to do this:
f <- function()
{
if (TRUE)
{
cat("TRUE!!\n")
} else {
cat("FALSE!!\n")
}
}
I favor your approach. BUT I add one more level of indentation.
Your function would look like:
f <- function()
{
if (TRUE)
{
cat("TRUE!!\n")
} else {
cat("FALSE!!\n")
}
}
This way I quickly identify the beginning of the function, which is
the one line at the top of the expression AND sticking to the left
margin.
In your code you use this same indentation in the if/else construct.
I find it also useful for the function itself.
When I want to rely on indentation and vertical alignments to keep
track of program structure, I would tend to write the above like
f <-
function()
{ if (TRUE)
{
cat("TRUE!!\n")
} else
{
cat("FALSE!!\n")
}
}
so that an opening "{" is aligned with the keyword it is associated
with, and then at the end of the block so also is the closing "}".
However, in this case (if I keep all the "{...}" for the sake of
structure) I would also tend to "save on lines" with
f <-
function()
{ if (TRUE)
{ cat("TRUE!!\n") } else
{ cat("FALSE!!\n") }
}
which is still clear enough for me. This probably breaks most
"guidelines"! But in practice it depends on what it is, and on
how readily I find I can read it.
Ted.
I have to say Ted, I find this as ugly as sin and you would have to
break my legs to make me code like this.
I am with Hadley on not taking extra lines and I think this is really
unclear because it is so disjointed. And the 'else' way over to the
right I just think is crazy.
It just goes to show how personal this can be because despite my
loathing this code I know Ted to be a thoughtful and experienced R user.
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
_________________________________________________________________
David Scott Department of Statistics
The University of Auckland, PB 92019
Auckland 1142, NEW ZEALAND
Phone: +64 9 923 5055, or +64 9 373 7599 ext 85055
Email: d.sc...@auckland.ac.nz, Fax: +64 9 373 7018
Director of Consulting, Department of Statistics
______________________________________________
R-help@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.