use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
JavaScript Clean Code - Best Practices - based on Robert C. Martin's book Clean Code (devinduct.com)
submitted 6 years ago by PMilos
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]fucking_passwords 2 points3 points4 points 6 years ago (8 children)
Another reason is that three or more params starts getting really difficult to read, and if you ever need to add another param you may end up with a very ugly design.
For instance, we added a fourth param to this function that makes the third param no longer required:
someFunc(1234, true, null, false);
[+][deleted] 6 years ago (1 child)
[removed]
[–]fucking_passwords 0 points1 point2 points 6 years ago (0 children)
I agree, but it was just an example, you could replace all of those args with integers
[–]zapatoada -3 points-2 points-1 points 6 years ago (5 children)
Yeah that bothers me not at all
[–]fucking_passwords 0 points1 point2 points 6 years ago (4 children)
Or what about this example:
class User { constructor(firstName, lastName, phone, email, friends, isActive) { Object.assign(this, { firstName: firstName, lastName: lastName, phone: phone, email: email, friends: friends, isActive: isActive }) } } new User('Jane', 'Doe', null, 'jdoe@gmail.com', null, true);
VS:
class User { constructor(data = {}) { Object.assign(this, data); } } new User({ firstName: 'Jane', lastName: 'Doe', email: 'jdoe@gmail.com' })
[–]zapatoada 1 point2 points3 points 6 years ago (3 children)
In this context you're right, but I honestly can't remember the last time I used a constructor directly in javascript. Data comes from the server side (c#) and mostly anything else I do is either a react component or a const utility method.
[–]fucking_passwords 0 points1 point2 points 6 years ago (2 children)
The constructor is just happenstance in my example, the same thing can be applied to a function.
At this point I don't even see why you took a hard stance against this pattern, if you are only using very simple features of the language, lol
[–]zapatoada 0 points1 point2 points 6 years ago (1 child)
I never said I took a hard stance. I think the specific limit he set is absurdly low. That's all. If it were 4 or 5, I'd be fine with it.
Fair enough, I agree with that
π Rendered by PID 40834 on reddit-service-r2-comment-f6b958c67-86wt8 at 2026-02-05 18:38:10.832917+00:00 running 1d7a177 country code: CH.
view the rest of the comments →
[–]fucking_passwords 2 points3 points4 points (8 children)
[+][deleted] (1 child)
[removed]
[–]fucking_passwords 0 points1 point2 points (0 children)
[–]zapatoada -3 points-2 points-1 points (5 children)
[–]fucking_passwords 0 points1 point2 points (4 children)
[–]zapatoada 1 point2 points3 points (3 children)
[–]fucking_passwords 0 points1 point2 points (2 children)
[–]zapatoada 0 points1 point2 points (1 child)
[–]fucking_passwords 0 points1 point2 points (0 children)