Skip to content

Commit

Permalink
Change the suggested format token style
Browse files Browse the repository at this point in the history
According to [research](rubocop/rubocop#8827 (comment)):

annotated (`%<name>s`):
    57497 files inspected, 5785 offenses detected

template (`%{name}`):
    57497 files inspected, 1279 offenses detected

unannotated (`%s`)
    57497 files inspected, 6424 offenses detected

the `%{name}` is the most commonly used style.
  • Loading branch information
pirj committed Dec 30, 2022
1 parent 7e54062 commit 2c950b9
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4862,28 +4862,34 @@ sprintf('%d %d', 20, 10)
# => '20 10'
# good
sprintf('%<first>d %<second>d', first: 20, second: 10)
sprintf('%{first} %{second}', first: 20, second: 10)
# => '20 10'
format('%d %d', 20, 10)
# => '20 10'
# good
format('%<first>d %<second>d', first: 20, second: 10)
format('%{first} %{second}', first: 20, second: 10)
# => '20 10'
----

=== Named Format Tokens [[named-format-tokens]]

When using named format string tokens, favor `%<name>s` over `%{name}` because it encodes information about the type of the value.
When using named format string tokens, favor `%{name}` over `%<name>s` or `%<name>`.
An exception is when formatting, as the `%<name>s` style uses format style, but `%{name}` style doesn't.

[source,ruby]
----
# bad
format('Hello, %{name}', name: 'John')
format('Total: %<sum>d', sum: 123.567)
format('Hello, %<name>', name: 'John')
# ok - using format style
format('Total: %<sum>7.2f', sum: 123.456) # => ' 123.68'
# good
format('Hello, %<name>s', name: 'John')
format('Total: %{sum}d', sum: 123.567)
format('Hello, %{name}', name: 'John')
----

=== Long Strings [[heredoc-long-strings]]
Expand Down

0 comments on commit 2c950b9

Please sign in to comment.