Last active
December 31, 2015 16:09
-
-
Save joliss/8011301 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 1 | |
var obj = new C() | |
.chainedMethod1() | |
.chainedMethod2() | |
// 2 | |
var obj = new C({ | |
opt: true | |
}) | |
// but 3 | |
var obj = new C({ | |
opt: true | |
}) | |
.chainedMethod1() | |
.chainedMethod2() |
I always avoid chains because I hate having to reformat code to debug it.
var obj = new C()
.chainedMethod1()
.chainedMethod2()
// wait, what is happening at chainedMethod1?
var obj = new C()
obj.chainedMethod1()
debugger;
obj.chainedMethod2()
Also, stepping into the second item in a chain is difficult, but super easy if you don't chain.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@isaacs I think there's some value in formatting things similarly between projects, in much the same way that there's value in laying out the directory structure of projects similarly. It may not be removing much friction, but it is removing some.
The value there is in picking what other people are picking rather than any particular choice being better. Having a standard code formatter that the community adopted would be a small win, just to save people from making mostly unnecessary choices.
@joliss I like chaining as well, although there are two points to be made in favour of intermediate variables: