this post was submitted on 10 Sep 2023
798 points (98.3% liked)
Programmer Humor
19149 readers
1033 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I recently made a small pure JS package at my company. It just fucking worked, can you believe it? No setting up compilation and CI/CD for build + release. Just put it in the repo and publish manually, and it just worked, it's ridiculous
Did it work? How do you know that? A consumer of your package sends a int when your package expects a string.
What now?
Consumer just needs to write 4x as many unit tests to make up for lack static typing. Hopefully the library author has done the same or you probably shouldn't use that library.
Well... the people fighting against TS are simply not testing things thoroughly. So they are not writing those tests.
Some times that's even perfectly ok. But you don't want to build things over a complex library that has this attitude.
(Except for svelte. It's meaningless for svelte, as TS was always a really bad fit for it.)
It's ok, just do what my company does and write no tests at all!
Hey man it passed the CICD. Not my problem
Theoretically, they'll test and notice that doesn't work and fix their code before they deploy it to production.
Where can you point to other developers evidence that the code in git matches the code you deployed? Deploying locally built packages to prod is an automatically fireable offense because its not auditable
WTF are you talking about? All I'm saying is that if you write code (that in the context of this discussion passes arguments to a method you didn't write, that may not be the type the author of the method expected someone to pass, but really, that's completely beside the point), you should, oh, I don't know, maybe test that it actually works, and maybe even (gasp) write some automated tests so that if anything changes that breaks the expected behavior, the team immediately knows about it and can make appropriate changes to fix it. You don't need a strongly typed language to do any of that. You just need to do your job.