This is a mobile version, full one is here.

Yegor Bugayenko
23 October 2014

Paired Brackets

Here is a notation rule I’m using in Java code: a bracket should either start/end a line or be paired on the same line.

The notation applies universally to any programming language (incl. Java, Ruby, Python, C++, PHP, etc.) where brackets are used for method/function calls.

Here is how your code will look, if you follow this “Paired Brackets” notation:

new Foo( // ends the line
  Math.max(10, 40), // open/close at the same line
  String.format(
    "hello, %s",
    new Name(
      Arrays.asList(
        "Jeff",
        "Lebowski"
      )
    )
  ) // starts the line
);

Obviously, the line with a closing bracket should start at the same indentation level as the line with its opening pair.

This is how your IDE will render the code if you follow this notation (IntelliJ IDEA):

Sublime Text will also appreciate it:

As you see, those light vertical lines at the left side of the code help you to navigate, if you follow the notation.

Those multiple closing brackets may look strange to you at the beginning—but give yourself some time and you will get used to them.

Fluent

This is how I would recommend formatting fluent method calls (this is Java in NetBeans):

Arrays

Here is how you format an array in “Paired Brackets” notation (this is Ruby in RubyMine):

As you see, the same principle applies to square and curled brackets.

JSON

The same principle is applicable to JSON formatting. This is a small JSON document in Coda 2:

JavaScript

JavaScript should also follow the same principle. This is how your .js code would look in Atom:

Python

Finally, here is Python in PyCharm: