27.9 Indentation

20200105

Use a consistent indentation. I prefer 2 spaces within both Emacs ESS and RStudio with a good font (e.g., Courier font in RStudio works well but Courier 10picth is too compressed). Try 4 if using a smaller font. Indenting 8 characters is probably too much, makes it difficult to read. There are plenty of tools to reindent to a different level as we choose. Keep lines to less than 80 characters even though displays can now support much longer lines. It seems easier to read.

**Preferred**
window_delete <- function(action, window)
{
  if (action %in% c("quit", "ask"))
  {
    ans <- TRUE
    msg <- "Terminate?"
    if (! dialog(msg))
      ans <- TRUE
    else
      if (action == "quit")
        quit(save="no")
    else
      ans <- FALSE
  }
  return(ans)
}

Not Ideal

window_delete <- function(action, window)
{
            if (action %in% c("quit", "ask"))
            {
                        ans <- TRUE
                        msg <- "Terminate?"
                        if (! dialog(msg))
                                ans <- TRUE
                        else
                                if (action == "quit")
                                        quit(save="no")
                                else
                                        ans <- FALSE
            }
            return(ans)
}

Always use spaces rather than the invisible tab character.



If you find this curated material useful then you can consider a donation to support it's ongoing availability and give you access to the PDF version of this book. The material has been scoped up by Generative AI without permission or any kind of recompense so do consider a donation if you can afford it. Unlike Generative AI your access to this materials is freely given. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Togaware has a 30 year tradition of making popular open source software which includes sold privacy preserving productivity apps, rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0