Even using absolute best prackies, developers are gonna find a bunch of stuff to complain about.
Even using absolute best prackies, developers are gonna find a bunch of stuff to complain about.
As a person who victimizes coworkers like this, I apologize. Thank you for pointing it out, and I will stop doing it.
No offense, but I know how to read a stack trace, and yes locate a familiar file - if you’re lucky enough to have one listed therein.
My point is, there is no excuse for them being so terrible except that they’ve always been that way.
The important information should be brief and at the top. This is design 101. The same ideas that have driven newspaper articles and websites for as long as the two have been a thing.
You put the important stuff in big letters at the top, and the rest, if you need it, is beneath the fold.
Edit: just to drive the point home: I’m sure it’s not the packages I’ve downloaded that are causing the error, I am positive it is my code, so show me where my code had a mistake first. Then you can show me the horrible “wall of text” that is the stack trace so I can understand it better later, but 99% of the time, just seeing the line that caused the error is enough to know what the problem is.
Hey hey. JavaScript is easy. It’s when you get into virtual doms that debugging becomes a nightmare.
Can you give us an eli5 on sourcemaps?
It is 2023 my brother in christ! We deserve better error outputs than a stack trace.
Why are we pretending like these error messages are acceptable in 2023?!
Yeah, but that’s some bullshit. I want to know what line in my file is causing the error.
And they know! They know what line in your file caused the error! They know the value of all the variables when the error hit. But do they show that? Fuck no.
Also the part where someone else wrote the code 20 years ago, and they haven’t worked for the co for 19 years. And now you have to find a bug that makes no sense, with no idea how he even compiled the code. You work on it for 3 months and every day someone’s riding your ass about it till they finally say well, let’s put it in the backburner.
The savior of mankind. We are not worthy.
Any mention of a server room reminds me of the fable of the guy, we’ll call him Mike, who unplugged the Internet.
I can’t remember where I read it, I think it was greentext on Reddit years ago.
So Mike is an intern, and due to some weird circumstances he becomes the only network admin in the building. Well, one day he doesn’t esnt feel like working, so on his way in, he stops by the server room and unplugs the internet.
He then goes to his desk like a normal day. Then he starts getting phone calls. Everybody is freaking out because there is no Internet. So he begrudgingly descends into the server room and starts playing video games on his phone.
Close to the end of the day, he plugs the Internet back in and ascends a hero to the employees because they think he’s been working hard all day to give them internet.
PC Load Letter
I appreciate your emacs perspective, thanks for the input.
I get the sense that programmerhumor hates prefixes, but I’m telling you, they have changed my life. Next project-for-fun, just give it a try and see what happens. I think you’ll be surprised.
To many of your points, I say I agree that a lot of naming conventions depend on context. The environment you’re working in, the IDE, the team you’re working on, the language you’re coding in.
However, prefixes I’m firm on. I think it’s unpopular because it’s from a bygone era where IDEs were non-existent. And while yes, ides have replaced many of the uses, they have been the most radical change to my readability and comprehension of the code I’ve written.
Also, I’m mostly a js programmer, so yes, very different from emacs.
Also, for calc_SumYears, I literally meant to add the years together, hense the prefix. So, maybe the prefixes are a little more useful than you give them credit.
I have to disagree on some points, but I def feel like you’re helping me learn, so for that I am grateful.
I feel like you’re speaking from the perspective of a perfect coding environment, which if you have that, that’s great. Maybe all your code is in one place, maybe you have an IDE that does a lot of the work for you, and that’s great. However, for most of us, that’s rarely the case.
Prefixes have been an absolute game changer for me personally, and I will never not use them again.
I have also found that verbosity of variable name and readability are mutually exclusive. A long variable name, most of the time, takes away from the logic. Yes, they are “free” as far as memory, but are very expensive to reliability.
Units tests, again are great, but most places think unit tests are like golden toilets. It sucks, but that’s the way it is. Usually you’re given a task, and if it’s not done next week, maybe you’re not as good as they thought.
Sorry, I’m serious. These are things I have picked up from 18 years in the industry.
Does anyone have any good advice on variable naming? Here’s some of my rules I try to live by:
utils_FooBar
is
not
in bool names.
_
g_VARIABLENAME
calc_ImportantValueThatWillDecideTheUsersView
is better than calc_SumYears
if the variable is more important than the others.Edit: I realize I was speaking about function-naming with the prefix stuff.
For variables, I still use prefixes, but for variable type. Even if you define the variables as types, it’s still incredibly useful. For instance,
a string is s_MyName
,
enumerable is e_MyType
,
A number is int or double or whatever i_MyAge
or d_MyWeight
This might be obvious for custom objects, but I’d still do it like this p_Person
or per_Person
.
Seriously it does make a huge difference
I see your point. Personally, I like the brackets and braces, they help organize. Or maybe that’s just what I’m used to.
Sorry, I meant ECMAScript
It would be great to use some emojis in coding.
Imagine how much more readable it would be if you could break a loop with 💀 or return true with 👍. Or use ❓for ifs, or ↔️ for switch (the emoji didn’t work for that one). Or use an emoji to represent a custom object?
Maybe the ECMA should get on that!
Edit: I guess you can use emojis for custom objects in js.
Edit 2: ➡ for console.log
The place I work decided to name all tables in all caps. So now every day I have to decide if I want to be consistent or I want to have an easy life.