I've been developing for years. Years! Yet every now and then something that turns out to be simple floors me for just a little bit longer than is comfortable.
Working with code really can keep you humble. What always catches you out or got you stuck recently that really shouldn't have?
Share your silly mistakes and maybe we'll all feel a bit better about it.
Top comments (119)
Why aren't my changes having any affect?
Restart the servers — Nothing.
Clear development cache — Nothing.
Scour docs for hard restart options — Nothing
Print a bunch of
<h1>Test test test</h1>
all over the page — Nothing.Oooooohhhhhh I'm looking at the production app.
I've done this so many times, for each combination possible out of dev, staging and production.
So. Many. Times.
Better than the version of this I did a long time ago (back when all this was the wild west). I was updating live, not the test site I was looking at.
There's all sorts of things stopping me doing that now.
😱
I've done the same several times, except the screen I was looking wasn't even an app - it was an Invision prototype.
Yes! This! More often than I'd care to admit. Have considered popping in a big red "DEV" block somewhere on the site to make it super obvious.
This is actually an excellent idea and I'm pretty sure there are dev teams out there that do this. The more obvious the better!
I am one of them :)
I use big red button with text “test” in navigation bar.
Just learning some Test Driven Dev at work. Spent half the AM trying to get this phpunit test to throw an exception when no user id is present on persist. I was expecting the exception BEFORE running anything else in the test function so it was stopping before even testing anything. My boss came over to point that out for me and also pointed out I had no connection to the DB either. It's ok I'm a professional kids.
Colour coding works for me with UIs.. not quite so easy with APIs!
I've done this way too many times as well.
Or if you have multiple cloud projects and you've configured a project other than the one you are working on. So you push changes. Do a bunch of
console.log()
and still nothingOnly to realize you were deploying to the wrong cloud project!
Yep, been there, done that :)
true haha. I've done this so many times
I did something like that once... except I was looking at test and had OVERWRITTEN the production app. Good thing we have backups. Heh heh.
Many times i update code in build folder's source file and the changes are not reflected. After several try i recognised that i'm a idiot.
I can relate
When I was doing Ruby I always misspelled
initialize
!How did you spell it? As a Brit I am, of course, offended by the "z" and think it should be
initialise
anyway.Lol, it wasn't a consistent misspelling, it's just a long word I kept fat-fingering.
What was most frustrating was that I wouldn't get a consistent "no method 'intialize'" error, it's just that I wasn't getting expected behavior and it would take me forever to realize it's because my initialize method wasn't being called!
Ah, the nightmare of a misspelled constructor. It's there, it's just pretending it's a regular method. Cheeky. And hard to track down. 😡
What are you writing things in most at the moment? And is it saving you from constructor woes?
These days I work mostly in Go, but even in languages with constructors I struggled with them enough that I now recognize a misspelled one sooner.
Programming has helped me discover that I truly never learned "I before E except after C". I'm always misspelling the
BadgeAchievement
model in the dev.to codebase.As a Canadian I occasionally have hangups with keywords like
color
. Phil, you probably feel this too.That's why we have postcss-spiffing.
Top Tip!
Rename the
BadgeAchievement
model toBadgeAcheivement
and never have this problem again!I'm sure there are things like this in the code already 😭
😅😅😅
Unrelated, but my last job had a referrals-based business model, so you can imagine the referrals table in their database was the most important table with indexes on almost every other table in the database.
It was spelled
referalls
, and every table apparently has its own convention of whether to name their columnreferall_id
orreferral_id
🤦♂️I once fixed a misspelling in a codebase without realizing that the name was coming from an external API's response so my correction broke everything. Misspellings that you can't fix are very frustrating.
@yechielk At least that's just in one app and not the Referer header supported in every web browser and server in the world.
Come to think of it, I bet the
Referer
header has caused multiple spelling confusions leading to things like this.@halldjack Oh no! You must have thought you were fixing a bug instead of causing it. That's the worst!
Yes! Someone pointed out the referer header to me once, and I instantly felt better for the poor developer who created that
referalls
table...are we sure they didn’t mean “refer all”s intentionally? you know, all of the refered people. or referred?
never give in
Lol, yes, we're sure 😂
Same! Also I type
reutrn
way more often then I typereturn
. Every. Time.for me it's retrun lol
i also embarrassingly wrote pubic instead of public during a tech talk
I’ve done similar typos with ‘countryCode’ 😂🙈
Looking for an error for way too long many times and finally realizing there's a "form" instead of "from" or vice versa.
Love this, my worst nightmare was something like this 👇
I spend hours trying to see why it's not working. Obviously it was a long time ago and I had no idea you could look into network calls inside browser 🤷♂️
That's one issue with browsers not complaining if they can't do something.
"Sure," it thought, "this is a classing
javscript
file, shame I don't know how to parse and run them, on with the next element!"So useful at times, so painful when it's a typo!
Couldn't agree more
Javscript if the dialect of JavaScript used before your coffee kicks in.
So you wrote that function, but it doesn't work and you have no idea why.
But did you MAKE a CALL to that function SOMEWHERE in your code or it just sits there alone and lonely? :))
Seriously, when I focus so much on functionality, sometimes I forget to call that newly created function. That's why I started calling the function first, and then start writing the function itself.
Or even write a test for the function first 😉
omg this happened to me the other day... but I usually call the function first so it didn't dawn on me to check for the function till after a couple of hours just to make sure and BOOM, no function... I added the function, confirmed it worked and closed my editor. Didn't code for the rest of the day.
I spent literal HOURS about a decade back trying to debug a program only to realise I had written a 'j' instead of an 'i' on a for loop but I couldn't tell as the font for both was so similar.
I've not used 'j' as a variable since then ;-)
Good ol' K&R has a lot to answer for..
I always used to go in the opposite direction for this reason. Need something after i? Go for h.
I just avoid 'i' entirely now. Go for something like x, y, z if required ;-)
No more single letter variable names! What is this, degree level mathematics?
Wait, are you all Haskell programmers?
If it's used as a counter in a for loop I don't see an issue with it.
Personally I learned to program with C (and LISP) and sometimes my Javascript still sinks back towards into the C.
if my code doesn't run I restart the laptop.
haha, I like this.
On prod env:
drop table <important_table_here>;
update <table> set <sequential_field> = <constant_val>
:( now i check ten times before run a command :(
Oh yeah, this happened to me once. Ran an update without a where clause, and in the moments after that, I had planned my exile to a remote village in Scotland.
Fortunately, I had run select before the update, and it was a small table so al the data was on the terminal.
SET AUTOCOMMIT=0; after that.
Sounds like a good time to test your DB backups too!
Whenever I did jQuery code, I wouldn't understand why my code didn't execute. turns out I would forget the period in the selector...
$('dropdown').show()
I have the opposite! Now I have to kick myself every time I write
document.getElementByID('#some-id')
. 😅I'm forever missing out the dot for a class so made a snippet that does it for me
extends
when I meanimplements
as well as using / instead of \ or not including enough extra slashes to escape them. :(using/import extends/implements/: ... too many languages in the same head :)
The thing is typescript has both extends and implements so it makes it even worse
That's a favourite of mine too. A great way to write a correct action in Rails and then watch it fail to work in tests and routes.
I could almost see the Rails team agreeing to alias common misspellings like this to avoid the heartache!
I sometimes mix up the
href
andsrc
in thelink
tag inhtml
.<link rel="stylesheet" type="text/css" src="theme.css">
instead of
<link rel="stylesheet" type="text/css" href="theme.css">
and it has taken me and colleagues several refreshes to figure out in the past.
"The css file is there. Why isn't it loading? Did you clear the cache? Did you restart the laptop? Did you check the URL?..."
I feel that pain. HTML is both forgiving ("the page still loaded") and brutal ("but it didn't work and I don't know why") at the same time.
I just learn css/html few weeks ago, and this is hurt when it happens
I left out a backlash in an endpoint. I had to ask for help from another Senior Dev. He then pointed out that to me. I looked very stupid but I guess it's all part of the work.
I find that the longer I work in the dev field the more my questions for other devs move towards the edges. Either they are complex architecture-y questions or I'm doing something mind-numbingly dumb and can't see it myself.
I think my point behind all of this is that we all make these mistakes. Likely every day. Most of the time we catch it ourselves. Some of the time the fix is pointed out by someone looking at it with fresh eyes. Once in a while we ship it to production.
If we can all agree that we're not looking stupid or dumb when this stuff happens, then we'll be more likely to ask for help, more likely to catch issues, less likely to spend minutes/hours/days on something and more likely to ship a quality product.
Sometimes you just need a second pair of eyes. If you spend so long looking at your code, you won't be able to see the forest for the trees :) I never judge a developer if the solution is simple, because I know I have been and will be in the same situation soon!
Most of the time what I do is change something on the local api and query the hosted api for the changes via postman. Will go like this for about 5 minutes restarting and console logging the code until my sight gets the glimpse of the url in postman . Silly me
Ouch. And you can't even place a visual banner to say it's dev/staging when it's an API request.
Late reply - but a thought occurred to me - what about a response header 'X-Environment: test/dev/prod', that might help when staring at Postman for the umpteenth time?
Might help! Though I know I would likely be looking at the body of the response rather than the headers. Sometimes there’s just no guard against ourselves 😄
Well well...
github.com/postmanlabs/postman-app...
still open :(
That's a good idea though. Maybe it will get enough support.
I’d never worked with Visual Studio before and for a long time I’d forget to commit changes to the project file, so that everything worked locally but when my colleague pushed changes, there was no reference to new files and the site would compile without them.
A classic "works on my machine" 😄
Forget committing changes. Backup the rest of your work and send your laptop up to prod!
The bit that hung me up was that the files themselves WERE committed and present, and the other developer could see them, but since they weren't referenced in the .csproj file, they didn't make it production. I don't know how many times I did that in the early going.
Oh that's so weird. I've not worked with C# or Visual Studio and this would definitely catch me out.
I tend to misspell
porps
instead ofprops
in react 🤓Porps! Super porps!