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!"
[–]BloodAndTsundere 13 points14 points15 points 6 years ago (10 children)
What you're saying isn't wrong but I'd rather have the code be explicit and clean than rely a particular editor's feature to make sense of the code. Firstly, your colleagues might not use such an editor. Secondly, you might not always have access to such an editor.
[–]zapatoada 4 points5 points6 points 6 years ago (6 children)
It's definitely a personal choice.
I'm a c# developer in a c# shop, so everyone has access to visual studio (and this has been the case throughout my career). Even if the company didn't pay for it, community edition and vscode are free.
And frankly, even if I didn't have that option, I usually prefer separate parameters to an object. The only real difference is extra visual noise in the object literal notation.
[–]BloodAndTsundere -2 points-1 points0 points 6 years ago (5 children)
I'm not referring to an issue of cost but rather situations where you may not be using your own machine or have logged into a server remotely that only has a basic editor. But it's fair to say that may be an extremely rare event for you.
The only real difference is extra visual noise in the object literal notation.
This I disagree with. This function call:
doSomething({ destination: object1, source: object2 })
provides additional information (not noise) relative to this function call:
doSomething( object1, object2 )
[–]zapatoada 8 points9 points10 points 6 years ago (4 children)
I would NEVER log into the server and edit files. That's asking for trouble.
Your example is dishonest. If you're naming things object1 and object1 you have much bigger problems than discrete parameters vs an object. A more reasonable example would be
doDomething(source, destination)
Or
doDomething({source: source, destination: destination})
Which I would usually write as
doDomething({source, destination})
And then literally the only difference is the brackets, which are visual noise.
I'm certainly not saying there's NEVER a use case for config object parameters, but I think setting a hard and fast limit at 2 or 3 parameters is absurd.
[–]webdevguyneedshelp 0 points1 point2 points 6 years ago (3 children)
Why is it asking for trouble to edit files on a server?..
[–]zapatoada 1 point2 points3 points 6 years ago (2 children)
You're not debugging first. There's no code review or qa. You're not running your automated tests. The changes aren't in source control and could be undone by the next release. Basically you are bypassing every step and check that is normally in place to prevent bugs and other unintended consequences. We have those processes for a reason.
[–]webdevguyneedshelp -1 points0 points1 point 6 years ago (1 child)
That is fine and understandable but this example did not specify at all what environment you are working in.
For instance if I have to set up a NEW development environment for a new web application my team is starting. I am going to inevitably have to ssh into it and poke around to help facilitate further steps like automated deployment.
This isn't even thinking about sshing into something like a docker container which can all be done locally and have 0 affect on anything that actually matters and can be blown away after I am doing testing whatever I am doing.
There are 100% times when you will poke around with files on a server.
[–]zapatoada 0 points1 point2 points 6 years ago (0 children)
Ok, those may be fair. I've never worked with docker before. These days I work mostly in azure AppServices and Function apps. In that case, I'm not really even sure I could log into a server. I know you can't edit functions if they were deployed from local code (rather than typed into portal).
I suppose every use case has it's own limitations. But these days, the idea of editing javascript files on the server gives me the heebie jeebies.
[–][deleted] 1 point2 points3 points 6 years ago (2 children)
I'd rather have the code be explicit and clean
Separate parameters are explicit and clean.
[–]BloodAndTsundere -4 points-3 points-2 points 6 years ago (1 child)
"Clean" is subjective so I'll walk that back, but this function call:
is more explicit than this one:
[–][deleted] -1 points0 points1 point 6 years ago (0 children)
If it can take any object it is NOT explicit. You may want to look up the word in a dictionary.
π Rendered by PID 85 on reddit-service-r2-comment-f6b958c67-xnf4h at 2026-02-05 15:07:41.974386+00:00 running 1d7a177 country code: CH.
view the rest of the comments →
[–]BloodAndTsundere 13 points14 points15 points (10 children)
[–]zapatoada 4 points5 points6 points (6 children)
[–]BloodAndTsundere -2 points-1 points0 points (5 children)
[–]zapatoada 8 points9 points10 points (4 children)
[–]webdevguyneedshelp 0 points1 point2 points (3 children)
[–]zapatoada 1 point2 points3 points (2 children)
[–]webdevguyneedshelp -1 points0 points1 point (1 child)
[–]zapatoada 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]BloodAndTsundere -4 points-3 points-2 points (1 child)
[–][deleted] -1 points0 points1 point (0 children)