This is giving me stress daymares about Spanish in high school.
Still, it’s an interesting point you make.
But then again, with definitive articles you have a bunch of things that are not supposed to convey gender conveying gender. Like a toaster… It would suck to have to remember the gender of a toaster, or, well toasters in general.
I hear what you’re saying.
First, I hard disagree with you. Overwriting my local version of code is a parachute - not an ideal landing, but better than merging by hand.
Also, my comment was not an attempt to teach everything about git, just to explain what is happening in simple terms, since git requires a lot of experience to understand what those messages mean.
Great meme, and I’m sure op knows this, but for anyone else who is curious…
007 in theory means:
To resolve this, you need to go file by file and compare your changes with the changes on the remote code. You need to keep the changes others have made and incorporate your own.
You can use git diff file_name
to see the differences.
If you have made small changes, it’s easier to pull and force an overwrite of your local code and make changes again.
However multiple people working on the same files is usually a sign of organizational issues with management. Ie, typically you don’t want multiple people working on the same files at the same time, to avoid stuff like this.
If you’re not sure, ask someone that knows what they’re doing before you follow any advice on Lemmy.
I love js. But the date object has always been a total pain. Moment.js is a good package to deal with it, but yeah, it’s currently deprecated, but it would be nice if it or something like it became part of ECMAScript.
I have no idea why it hasn’t yet, except that it might be that js needs to work for everyone, not just the us. So time is not standard.
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.
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.
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.
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.
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
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
For real.
I think the “real” programmers are scared because you can now do basically anything in js/ts, and they’re going to have to learn something they’ve always looked down on.
With web assembly coming fast a lot of these people are going to start realizing it would be nice to have a cheaper, js-only developer on hand. Then mgmt is going to realize they can have more developers that aren’t total pains in the ass. And so long “real” programmers.
Then, some day, I think js will be the only language - or something like js.
Yes, but only because it gives you a link to where that was run. Click the link to the right with filename:lineNumber, and it will open the sources tab to that line. Set a breakpoint and rerun to pause there, then step through the code’s execution.
Of course, if you’re using minified or processed code, this will be more difficult, in that case figure out how to do it in VS Code.
Watch a Video or read something because it really is an invaluable tool. But here’s a crash course:
Debuggers, or IDEs, let you step through your code in slo-mo so you can see what is happening.
There are many other things an IDE can do to help you, so def look into it more if you want to save yourself a lot of insanity. But this is a good starting point.
If you’re developing for the web use F12 to open web tools, and when an error happens, click the file/line number to see that point in the Sources tab, and you can debug there.
Reminds me of the o-ring on the challenger