Click here to Skip to main content
15,913,941 members

Survey Results

What are the worst programming habits

Survey period: 7 Jul 2014 to 14 Jul 2014

Inspired by a rant-fest

OptionVotes% 
No comments in code1,05740.95
Terrible variable names1,35752.58
Bad / dangerous code formatting69526.93
Mystery side-effects in code1,07641.69
Using magic numbers64424.95
Leaving commented-out code hanging around too long60923.60
Repeating code (Cut and Paste programming)1,28549.79
Poor program structure1,10742.89
Writing code that assumes a default behaviour67326.08
Swallowing errors95036.81
Not checking input parameters / return values / null testing1,05840.99
Respondents were allowed to choose more than one answer; totals may not add up to 100%



 
GeneralRe: Agile Programming and Refactoring Pin
Nelek7-Jul-14 12:00
protectorNelek7-Jul-14 12:00 
GeneralRe: Agile Programming and Refactoring Pin
Gary R. Wheeler7-Jul-14 14:00
Gary R. Wheeler7-Jul-14 14:00 
GeneralRe: Agile Programming and Refactoring Pin
Pete O'Hanlon8-Jul-14 1:46
mvePete O'Hanlon8-Jul-14 1:46 
GeneralRe: Agile Programming and Refactoring Pin
thatraja8-Jul-14 2:25
professionalthatraja8-Jul-14 2:25 
GeneralRe: Agile Programming and Refactoring Pin
Rob Philpott10-Jul-14 22:02
Rob Philpott10-Jul-14 22:02 
GeneralAll, but these two give me sleepless nights... Pin
Sander Rossel7-Jul-14 0:02
professionalSander Rossel7-Jul-14 0:02 
GeneralMisleading comments Pin
Rosenne6-Jul-14 23:24
Rosenne6-Jul-14 23:24 
GeneralAlmost all PinPopular
Nelek6-Jul-14 22:58
protectorNelek6-Jul-14 22:58 
First of all... I am 95% of the time dealing with PLCs (so the comments I do might not fit into high-level world)

I partially agree that the lack of comments is not so terrible. But with the condition of: Code is done easy to understand.

Variable names: I have been fixing bugs in programms where "TaskDone" was used for "TaskActive" (but not ended), or "PlaceActive" used for "PlaceFull" or even worst just "int1", "int2", "int3" and try to understand what does each one mean.

Bad Formatting: It can be a kick in the ass to read something with bad format, but this is for me one not so critical for the understanding. It is just comfortability.

Mistery side-effects: This is one that I very often have to deal with, when I go to a customer to fix something, and it is really annoying because it is very difficult to simulate the error-trigger situation. One of my "favourite" is when same area in memory is being written from two different places at the same time and the value get mixed, triggering god knows what in other places.

Magic Numbers: Lucky me, this is something I don't find often

Leaving commented out code for long: This is something I have to deal with 90% of the times in legacy code. I hate it. Starting to get into the functionality, spending a precious time to know what it is done in a function and then find a commented out call to that function, or a return (1) or whatever else making it for the cats. I really hate it.

Copy and paste programming: ---> Search and replace for something meaningful / useful. Time wasting but... not so bad as others

Assuming default behaviour: Related to mistery side-effects. Can be really annoying / dificult to find out.

Swallowing Errors: It depends, if the programm get blocked, then I don't really care. They are easy to find. If not... Mad | :mad: Mad | :mad: Mad | :mad:

Not checking values: In my experience, that use to end into points "Assuming default behaviour" and/or "mistery side effects"
M.D.V. Wink | ;)

If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.

GeneralRe: Almost all Pin
Gary R. Wheeler7-Jul-14 2:58
Gary R. Wheeler7-Jul-14 2:58 
GeneralRe: Almost all Pin
Nelek7-Jul-14 11:38
protectorNelek7-Jul-14 11:38 
GeneralNone of the above? Pin
SteveTheThread6-Jul-14 22:00
SteveTheThread6-Jul-14 22:00 
GeneralRe: None of the above? Pin
Nelek6-Jul-14 22:36
protectorNelek6-Jul-14 22:36 
GeneralRe: None of the above? Pin
KarstenK6-Jul-14 23:57
mveKarstenK6-Jul-14 23:57 
GeneralMessage Removed Pin
7-Jul-14 2:45
professionalN_tro_P7-Jul-14 2:45 
GeneralRe: None of the above? PinPopular
Gary R. Wheeler7-Jul-14 3:15
Gary R. Wheeler7-Jul-14 3:15 
GeneralRe: None of the above? Pin
Ravi Bhavnani7-Jul-14 7:30
professionalRavi Bhavnani7-Jul-14 7:30 
GeneralRe: None of the above? Pin
SteveTheThread8-Jul-14 21:34
SteveTheThread8-Jul-14 21:34 
GeneralRe: None of the above? Pin
Mark_Wallace9-Jul-14 17:49
Mark_Wallace9-Jul-14 17:49 
GeneralLong Column Name Pin
Meysam Toluie6-Jul-14 21:50
Meysam Toluie6-Jul-14 21:50 
GeneralRe: Long Column Name Pin
Dan Neely7-Jul-14 2:30
Dan Neely7-Jul-14 2:30 
GeneralNot checking input parameters / return values / null testing Pin
Gandalf_TheWhite6-Jul-14 20:56
professionalGandalf_TheWhite6-Jul-14 20:56 
GeneralRe: Not checking input parameters / return values / null testing Pin
KarstenK6-Jul-14 23:59
mveKarstenK6-Jul-14 23:59 
GeneralRe: Not checking input parameters / return values / null testing Pin
Philippe Mori7-Jul-14 15:53
Philippe Mori7-Jul-14 15:53 
GeneralAdd: leave code with this kind of problems to me Pin
Davide Zaccanti6-Jul-14 19:56
Davide Zaccanti6-Jul-14 19:56 
GeneralRe: Add: leave code with this kind of problems to me Pin
DaveAuld6-Jul-14 20:24
professionalDaveAuld6-Jul-14 20:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.