this post was submitted on 21 Apr 2024
693 points (96.9% liked)

Programmer Humor

32495 readers
627 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 81 points 7 months ago (8 children)

What's even wilder is if you look at the code of that package, all it does is include the is-odd package and then return !is-odd. And the is-odd package isn't much better, it does some basic checks on the input and then returns n % 2 === 1.

[–] [email protected] 26 points 7 months ago (6 children)

I thought I was missing something. JS is one of my main languages and I always just write the is-odd function myself since it's like 10 characters. It boggles the mind that is-even has 176k weekly downloads

[–] [email protected] 18 points 7 months ago (3 children)

To be fair having a name can make things easier to read. I get that i % 2 == 0 is a common pattern and most programmers will quickly recognize what is happening. But isEven(i) is just that much easier to grok and leaves that brainpower to work on something else.

But I would never import a package for it. I would just create a local helper for something this trivial.

[–] [email protected] 9 points 7 months ago (1 children)

Exactly what I would do if I had to reuse it, especially now since I know that adding a package would actually add 2. It all just seems so...inefficient

[–] [email protected] 10 points 7 months ago (1 children)

Even if the code isn't reused adding names to sub-expressions can be very valuable. Often times I introduce new functions or variables even if they are only used once so that I can give them a descriptive name which helps the reader more quickly understand what is happening.

[–] [email protected] 3 points 7 months ago

Yeah, I do that with pretty much every separate operation in c# since our solutions are pretty big. Most of my JS scripts are just done in ServiceNow which are separated and named appropriately.

load more comments (1 replies)
load more comments (3 replies)
load more comments (4 replies)