5 ms·
Am I the only one who thinks this is horribly difficult to visually scan? item = new Item title: "Awesome", id: 2 Less isn't always better. I like the par
by tlrobinson 15y ago
Am I the only one who thinks this is horribly difficult to visually scan?
item = new Item title: "Awesome", id: 2
Less isn't always better. I like the parens, at least if there's more than one argument.
item = new Item(title: "Awesome", id: 2)
It's much easier for me to glance at this and know what's going on.
- jrockway 15y agoWhat else would it mean?
- tlrobinson 15y agoI can understand what it means, it just takes slightly longer to comprehend without the parens providing a visual cue that it's a function call. It only gets worse with nested function calls: item = new Item title: new Title "Awesome", id: 2 The syntax isn't ambiguous, but that doesn't mean it's easy for humans to parse.
- deleted 15y ago[deleted]
- jessedhillon 15y agoIn a language where there are two drastically differing ways to express the same idea, it could mean anything.
- jrockway 15y agoHow are we having this conversation in English, then?
- jessedhillon 15y agoWell, it took about 8-12 years of practice for me to be able to do it correctly, and at least twice that to achieve my current proficiency. So when I have my choice of designed languages, I'd like one that tries to learn from the failings of the organic ones.
- rikthevik 15y agoIt could easily mean that item is a 2-tuple. item = (new Item title: "Awesome", id: 2)
- qrush 15y agohttp://news.ycombinator.com/item?id=2912770 http://news.ycombinator.com/item?id=2912770
- mgutz 15y agoLove CoffeeScript, but yeah omitting parens makes it hard to read in this case. I follow Visual Basic convention. Use parentheses when using the return value. In this case, the constructor function returns an object. Omit parentheses otherwise, i.e. using a function as a method (no return value).
- Cushman 15y agoAll I can say is you get used to it, and it encourages you to write in shorter sentences, which results in more readable code overall.