DEV Community

Ben Halpern
Ben Halpern

Posted on

What are your worst coding habits?

Is it bad commit messages, getting distracted by social media, commenting out tests?

Let’s hear it all.

Top comments (164)

Collapse
 
selbekk profile image
selbekk

I write git status at least 4000 times a day, for no reason whatsoever.

Collapse
 
learnbyexample profile image
Sundeep

how about ls and clear

Collapse
 
huyduy profile image
Huy Duy

You can use Ctrl + L instead.

Collapse
 
titivermeesch profile image
PlayBossWar

Doing this all day long when I'm working for no reason, I don't know why actually

Collapse
 
jcoelho profile image
José Coelho

Yep that's me. I even write git status after committing just to make sure 😅

Collapse
 
glyphcat profile image
GlyphCat

And also git branch after git checkout just to make sure I'm on the right branch… 😂

Thread Thread
 
kaddkaka profile image
kaddkaka

My prompt reflects which branch I'm on, super helpful!

Collapse
 
learnbyexample profile image
Sundeep

That has actually helped me once, I'd forgotten to git add some files

Collapse
 
glaaki profile image
Sean Porter

at least alias it to gst!

also: me too

Collapse
 
cjbrooks12 profile image
Casey Brooks

With as much as I check git status, I don't have time for a 3-letter alias! gs is all I can afford 😜

Thread Thread
 
a0s profile image
Anton Osenenko

And gpr for git pull --rebase

Collapse
 
pmsuntuwarg profile image
Mahesh Sunuwar

Most of the time, git log follows git status in my case. :P

Collapse
 
kaddkaka profile image
kaddkaka

tig gives me more information, more concisely. Try it out :)

Collapse
 
khoahuynhdev profile image
Khoa Huỳnh

Underrated

Collapse
 
kiro112 profile image
Jairo Malanay

Is it bad ?
Im also guilty of this one + ls and clear

Collapse
 
haqqer profile image
ahmad_haqqer

me too dude

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

Been there
😂😭

Collapse
 
highcenburg profile image
Vicente G. Reyes

This sounds like a good practice😂

Collapse
 
alanmbarr profile image
Alan Barr

Never taking the time to learn hotkeys. Not reaching out to a second set of eyes before spending too much time on something. Not doing enough design up front.

Collapse
 
ben profile image
Ben Halpern

Are you me?

Collapse
 
glaaki profile image
Sean Porter

I use vim for basically everything & I can't remember how to do macros without looking it up. I think just generalize this to "not learning your tools effectively" & I totally agree.

Collapse
 
jonathanspeek profile image
Jonathan Speek

This is super relatable.

Collapse
 
alexantra profile image
Alex Antra

I rewrite other people’s code to my extremely high standard so I can understand it. Such a time waste.

Collapse
 
noreading profile image
Dominik

I know this far too well. There is this strong feeling of „You can’t leave it like it is, when you know it.“ but in the end ... it would most likely run for ages without any issues if we wouldn’t rewrite it. And maybe nobody would ever touch it again. :-)

Collapse
 
ben profile image
Ben Halpern

I’m sure this thread will contain much worse habits than that! 😂

Collapse
 
helenanders26 profile image
Helen Anderson

Haha! you are far more patient than I am!

Collapse
 
hugoliconv profile image
Hugo • Edited

I do not write unit tests 😔

Collapse
 
otr500miles2go profile image
DIANE GAYDEN

I knew if I kept reading I'd find my bad habit.

Collapse
 
jnschrag profile image
Jacque Schrag

Same! I've never written a test. I know that I should, but... ¯_(ツ)_/¯

Collapse
 
christopherkade profile image
Christopher Kade

Small plug, but I wrote an introduction to unit testing if that could help any of you 😃

dev.to/christopherkade/introductio...

Thread Thread
 
jnschrag profile image
Jacque Schrag

This is great, thank you!

Collapse
 
mandaputtra profile image
Manda Putra

Dateline !== No test, or just lrave like this

Agile !== No test

Collapse
 
yashints profile image
Yaser Adel Mehraban

Not reading enough docs, whether it's a framework or API

Collapse
 
reddyaravind178 profile image
aravind_reddy

Totally relatable

Collapse
 
highcenburg profile image
Vicente G. Reyes

Stare at my editor -> search for help in duckduckgo -> open social media -> change music on spotify😂

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

That's literally me every single day 😂😂

Collapse
 
crongm profile image
Carlos Garcia ★

Same. ❤

Collapse
 
helenanders26 profile image
Helen Anderson

Being too lazy to turn off 'helpful' system settings, like the one that autocompletes a closing bracket. I used to end up adding a closing bracket myself and then having too many so had to hit backspace to get rid of one.

Now that that has become muscle memory, whenever I'm not using that tool I hit backspace on autopilot even though there is no 'helpful' closing bracket to get rid of.

Collapse
 
moopet profile image
Ben Sinclair

I do this all the time!
It's all muscle memory now.

The other way the IDE gets in my way is when I want to add a closing bracket or parenthesis but my cursor is already immediately before one and the editor treats it as if they're the same - so I think I've added enough, but oh no.

Collapse
 
helenanders26 profile image
Helen Anderson

Ugh. Instant rage quit.

There are also some strange moments when the cursor just vanishes completely and I don't know where I am anymore.

Collapse
 
ben profile image
Ben Halpern

Ah yes, been there.

Collapse
 
flexdinesh profile image
Dinesh Pandiyan

Step 1: Spot a code smell
Step 2: Add a // TODO comment
Step 3: Never get back to it

Repeat.

This is the story of my dev life 😔

Collapse
 
foresthoffman profile image
Forest Hoffman

If you're a VS Code user, checkout the Todo Tree extension.

It's a nice alternative to searching in all files for // TODO or // DEBUG before commiting!

Collapse
 
reebboot profile image
John Dev

Good tip 😉

Collapse
 
briankephart profile image
Brian Kephart

Not using feature branches.

Collapse
 
ben profile image
Ben Halpern

This was me until I worked with folks who set great examples. I eventually learned better habits.

Collapse
 
glaaki profile image
Sean Porter

Not sure I'd agree with this one, depends on what you're trying to accomplish.

Committing directly to trunk has its benefits, everyone gets the changes immediately but you just need to make sure that the changes are self-contained enough to not break anything.

I used to think this was the way to go too until I read Continuous Delivery
all the way through.

Collapse
 
kayis profile image
K

Trunk based devlopment ftw.

Collapse
 
stearm profile image
Stefano Armenes

You should try git flow :)

Collapse
 
htphuongse profile image
Phuong Huynh

haha, you should try to fix it soon

Collapse
 
ddhogan profile image
Donna Hogan
  • git push --force on a regular basis
  • using VSC to open dot files and not taking the time to learn vim or nano, etc
Collapse
 
selbekk profile image
selbekk • Edited

My git alias for that command is git fush 😄

Collapse
 
colorcodedcode profile image
Robert Schaap

I need that in my life. I'm an obsessive compulsive interactive rebaser.

Collapse
 
ben profile image
Ben Halpern

I don’t think the second is a bad habit. There’s no special reason one needs to be using bin or nano imo.

Collapse
 
ericcurtin profile image
Eric Curtin

I think all Unix/Linux developers should know vim. Because vi or vim is almost always installed on these variants. Sure for local development a UI is great, a very useful tool! But for editing files on remote machines, the ability to ssh to a remote machine and make a quick change is very important.

Collapse
 
rhymes profile image
rhymes

Sometimes I struggle and go for the longer route instead of just focusing on the quick fix.

I often set a breakpoint and learn how code works from there instead of just looking at the documentation.

A part of me wants to fix everything but I've become much more pragmatic over time 😂

Collapse
 
kayis profile image
K

I try to do the right thing first.

Often I fail because of missing information, then I do a bunch of quick fixes second.

Then after the fixes built up too much, I do a rewrite as it should be and everything is good.

The second part often happens because I only find the missing information after I tried enough fixes.

Dumb problem and probably unsolvable 😒

Collapse
 
maestromac profile image
Mac Siri

Being too obsessed with code perfection instead of just shipping the feature.

Collapse
 
kayis profile image
K

Prettier and refmt helped me so much with this

Collapse
 
moopet profile image
Ben Sinclair

I still tend to jump in and start coding my first idea. I tell myself it's a proof of concept or that I'm experimenting with different ideas but too often I just end up going with it and not putting the effort in to find a better solution.
I do this even if I have time to plan the project out, because I've worked in tight deadline agencies for so long it's become a habit that's hard to break.

Collapse
 
andreasbergqvist profile image
Andreas Bergqvist • Edited

This. I guess sometimes its also a strength. Atleast I tell myself...

Collapse
 
kayis profile image
K

Do it with TLA+ instead! 🙃

Collapse
 
dance2die profile image
Sung M. Kim • Edited

Confession:
TFS (Team foundation) lets you commit your code without a message. I sometimes commit without a message...

And I reformat others' code.

The worst offender is always Googling for simple tasks such adding simple HTML elements such as adding CSS link tags and script tags... (I wonder if it's just me not knowing how to add them out of memory 🤔)

Collapse
 
t4rzsan profile image
Jakob Christensen

We moved all our code from TFVC to TFS Git which I can highly recommend. You get the best of both worlds (TFS backlog and project control together with Git version control). And you will never commit without a message again 😉

Collapse
 
dance2die profile image
Sung M. Kim

Wow 😮
Thanks, Jacob.
I wasn't aware it was possible to migrate to TFS Git and keep all the history.

I will check it out~

Collapse
 
ben profile image
Ben Halpern

No commit message is such an odd thing to me.

I also always good css link tags 😂

Collapse
 
dance2die profile image
Sung M. Kim

git way of forcing a message should be how all VCS should be IMHO.

I also always good css link tags 😂
😂 👊

Collapse
 
elmuerte profile image
Michiel Hendriks

Not writing (and updating) documentation explaining intent and purpose.

Collapse
 
pedrommarquesm profile image
Pedro Marques

I work in a small team (2 front-end devs), and my co-worker is a bit picky about documenting every function, class, method, etc etc.
But sometimes all he documents is something a function name tells it upfront, I really think there's no purpose in doing something like:

/** This function transforms lower case string to uppper case **/
function lowerCaseToUpper(str...);

If you declare functions and variables with intuitive names, sometimes there's no need to explain them :)

Collapse
 
bytenaija profile image
Everistus Olumese

It is called self-documenting functions for a reason right?

Thread Thread
 
pedrommarquesm profile image
Pedro Marques

yup... unless that function transforms the string using some alien computation, there's no need for that