gitlab-org--gitlab-foss/doc/development/newlines_styleguide.md
Jake Romer 1fc0d4f4b5 Clarify blank line rule in newlines_styleguide.md
To clarify what's meant by "from a logical perspective" here, I
consulted Python's PEP8 style guide, which provides some helpfully
precise language: 

> Extra blank lines may be used (sparingly) to separate groups of 
> related functions. Blank lines may be omitted between a bunch of 
> related one-liners (e.g. a set of dummy implementations).

https://www.python.org/dev/peps/pep-0008/#blank-lines

I adapted this passage to the existing language for the newline rule.
2016-08-26 06:12:30 +00:00

1.1 KiB

Newlines styleguide

This style guide recommends best practices for newlines in Ruby code.

# bad
def method
  issue = Issue.new

  issue.save
  
  render json: issue 
end
# good
def method
  issue = Issue.new
  issue.save
  
  render json: issue 
end

Rule: separate code and block with newlines

Newline before block

# bad
def method
  issue = Issue.new
  if issue.save
    render json: issue
  end
end
# good
def method
  issue = Issue.new

  if issue.save
    render json: issue
  end
end

Newline after block

# bad
def method
  if issue.save
    issue.send_email
  end
  render json: issue
end
# good
def method
  if issue.save
    issue.send_email
  end

  render json: issue
end

Exception: no need for newline when code block starts or ends right inside another code block

# bad
def method

  if issue

    if issue.valid?
      issue.save
    end

  end

end
# good
def method
  if issue
    if issue.valid?
      issue.save
    end
  end
end