Coding pet hates
-
Near the top of my list of pet hates is unnecessary white space changes. You're looking at a piece of code thinking *why?*, so you go and look who last touched the line. Then you look at the rest of that check in and think this is totally unrelated. So you go and look at what they actually changed in the line of code only to find they added a tab on the end. Arrrrhhhhhgggggg. Start again with revision number-- What gives you the shits on a friday afternoon?
I found this gem today.
//Initializes the component
InitializeComponent();REALLY?!?! I am so glad you put this comment in here, I never would have guessed this. Of course in the component block we get follow ups...
//btnSave
//
this.btnSave.Anchor = ...Every section is done like this and the only comment is something I can read if I look ater
this.
in the code... about the only useful comment in the entire 1400 lines of code is this gem// I hope this works
Right before a try. I don't know who put that in there, but my follow up comment made me feel better.
//If the catch does something useful it does.
If I have accidentally said something witty, smart, or correct, it is purely by mistake and I apologize for it.
-
Near the top of my list of pet hates is unnecessary white space changes. You're looking at a piece of code thinking *why?*, so you go and look who last touched the line. Then you look at the rest of that check in and think this is totally unrelated. So you go and look at what they actually changed in the line of code only to find they added a tab on the end. Arrrrhhhhhgggggg. Start again with revision number-- What gives you the shits on a friday afternoon?
The rats nest of C++ driver code i inherited when i started here. It had passed through 3 other hands before i got it. Some of those hands did not belong to software developers. It usually breaks every time i make a change.
Pete
-
Ah, I remember those days, working for a big team... SourceSafe was our first poison, followed by ClearCase. By the time I transferred out of that department, I think we were developing three branches simultaneously, so every bugfix had to be done three times... One branch for the upcoming build, one for the next build after that, and I forget what the third was.... Now I'm a solo developer... Things are much simpler now.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels)Ian Shlasko wrote:
we were developing three branches simultaneously
Ian Shlasko wrote:
so every bugfix had to be done three times
Not sure about SourceSafe, but ClearCase lets you merge branches. I've done three-way merges with ClearCase before now. Keeping track of which changes need to go where can be tricky, but it's doable.
-
Ian Shlasko wrote:
we were developing three branches simultaneously
Ian Shlasko wrote:
so every bugfix had to be done three times
Not sure about SourceSafe, but ClearCase lets you merge branches. I've done three-way merges with ClearCase before now. Keeping track of which changes need to go where can be tricky, but it's doable.
Yeah, you CAN merge branches, but that wasn't how the project managers decided to do it.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels) -
Depends on the language. K&R style is standard in C, C++ (except with Windows API / MFC for some reason), Perl and Java. In C# it is not. Forgot about JavaScript :~ My rule is: follow the style of the standard library for the language you use.
-
Depends on the language. K&R style is standard in C, C++ (except with Windows API / MFC for some reason), Perl and Java. In C# it is not. Forgot about JavaScript :~ My rule is: follow the style of the standard library for the language you use.
-
I found this gem today.
//Initializes the component
InitializeComponent();REALLY?!?! I am so glad you put this comment in here, I never would have guessed this. Of course in the component block we get follow ups...
//btnSave
//
this.btnSave.Anchor = ...Every section is done like this and the only comment is something I can read if I look ater
this.
in the code... about the only useful comment in the entire 1400 lines of code is this gem// I hope this works
Right before a try. I don't know who put that in there, but my follow up comment made me feel better.
//If the catch does something useful it does.
If I have accidentally said something witty, smart, or correct, it is purely by mistake and I apologize for it.
-
Near the top of my list of pet hates is unnecessary white space changes. You're looking at a piece of code thinking *why?*, so you go and look who last touched the line. Then you look at the rest of that check in and think this is totally unrelated. So you go and look at what they actually changed in the line of code only to find they added a tab on the end. Arrrrhhhhhgggggg. Start again with revision number-- What gives you the shits on a friday afternoon?
I have a few, but at the top of the list are using "this." to get Intellisense to trigger, which is an obsolete habit from older IDE's. My other is when people pay no attention to the structure of the code and put fields, properties, public and private methods into an unorganized pile of dung. Yes, obviously the compiler couldn't care less, but we're writing code for each other, and I like a certain structure to my classes. So, my other pet pieve is when people, who come into a project and should be humble and respectful to the work others have already done, totally ignore it, not just structure but naming conventions, indentation conventions, etc. I can write coding standards until I'm blue in the face and their still ignored, but the code itself shows what the standards are if people just took the time to look at it and left their egos at the door. There should be a new branch of psychology for programmers. So, is it possible that your use of underscores is because you feel inadequate with your partner? Are you placing fields willy-nilly in the class because you were bottle fed and lack the ability to empathize with your fellow human being? Do you use lowercase method names because you were taunted by your peers as a child? Marc
-
I couldn't give a flying fuck what the standard is :), it makes code less easy to read, just because somebody creates a standard it don't mean it's any good.
Two heads are better than one.
Norm .net wrote:
it makes code less easy to read, just because somebody creates a standard it don't mean it's any good.
When in Rome, do as the Romans do. Seriously, it is just a matter of habit. If you ever work on Java project, you'd better use the K&R style or you'll get into trouble with the coworkers.
-
:thumbsup: I prefer
if ()
{
...
}But what annoys me is
if(condition) statement;
because I expect to see the following statement(s) as the conditionally executed ones. Though to be honest, I'll stick with anything consistent - it better than a mix of styles. That's one of the things I like about VS - it can reformat the code to match your personal preference. Unfortunately, that counts as a change for SVN...
I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.
-
//Initializes the component InitializeComponent();
I know it's ghastly.
Two heads are better than one.
I totally wouldn't have known!!! /facepalm
If I have accidentally said something witty, smart, or correct, it is purely by mistake and I apologize for it.
-
I have a few, but at the top of the list are using "this." to get Intellisense to trigger, which is an obsolete habit from older IDE's. My other is when people pay no attention to the structure of the code and put fields, properties, public and private methods into an unorganized pile of dung. Yes, obviously the compiler couldn't care less, but we're writing code for each other, and I like a certain structure to my classes. So, my other pet pieve is when people, who come into a project and should be humble and respectful to the work others have already done, totally ignore it, not just structure but naming conventions, indentation conventions, etc. I can write coding standards until I'm blue in the face and their still ignored, but the code itself shows what the standards are if people just took the time to look at it and left their egos at the door. There should be a new branch of psychology for programmers. So, is it possible that your use of underscores is because you feel inadequate with your partner? Are you placing fields willy-nilly in the class because you were bottle fed and lack the ability to empathize with your fellow human being? Do you use lowercase method names because you were taunted by your peers as a child? Marc
Marc Clifton wrote:
when people pay no attention to the structure of the code and put fields, properties, public and private methods into an unorganized pile of dung.
Yep. I modified the default classes to provide #region commands for Fields, Properties, enums, event handlers, event constructors, etc., etc. to make it easier to do.
I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.
-
Near the top of my list of pet hates is unnecessary white space changes. You're looking at a piece of code thinking *why?*, so you go and look who last touched the line. Then you look at the rest of that check in and think this is totally unrelated. So you go and look at what they actually changed in the line of code only to find they added a tab on the end. Arrrrhhhhhgggggg. Start again with revision number-- What gives you the shits on a friday afternoon?
In addition to that little lot: "I'll come back and comment it later, when I get it working." Oh no you won't you lazy little ****! You'll move on to something more interesting, and to hell with the maintenance...
I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.
-
Near the top of my list of pet hates is unnecessary white space changes. You're looking at a piece of code thinking *why?*, so you go and look who last touched the line. Then you look at the rest of that check in and think this is totally unrelated. So you go and look at what they actually changed in the line of code only to find they added a tab on the end. Arrrrhhhhhgggggg. Start again with revision number-- What gives you the shits on a friday afternoon?
Using 4 external libraries in a project and each library implements its own extended string class and also its own smart pointers which are incompatible with the other 3 libraries.
John
-
:thumbsup: I prefer
if ()
{
...
}But what annoys me is
if(condition) statement;
because I expect to see the following statement(s) as the conditionally executed ones. Though to be honest, I'll stick with anything consistent - it better than a mix of styles. That's one of the things I like about VS - it can reformat the code to match your personal preference. Unfortunately, that counts as a change for SVN...
I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.
Bah, I do that all the time... I really don't want to read stuff like this:
if (flag)
{
x = 1;
}It's just a waste of space...
if (flag) x = 1;
...is much cleaner. And if it was a little bit more complicated, but still one line...
if (flag & (otherThing | somethingElse))
x = 9387523 / blah + 34028;Sticking to a coding style is one thing... Unneeded braces are another.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels) -
Norm .net wrote:
it makes code less easy to read, just because somebody creates a standard it don't mean it's any good.
When in Rome, do as the Romans do. Seriously, it is just a matter of habit. If you ever work on Java project, you'd better use the K&R style or you'll get into trouble with the coworkers.
-
I have a few, but at the top of the list are using "this." to get Intellisense to trigger, which is an obsolete habit from older IDE's. My other is when people pay no attention to the structure of the code and put fields, properties, public and private methods into an unorganized pile of dung. Yes, obviously the compiler couldn't care less, but we're writing code for each other, and I like a certain structure to my classes. So, my other pet pieve is when people, who come into a project and should be humble and respectful to the work others have already done, totally ignore it, not just structure but naming conventions, indentation conventions, etc. I can write coding standards until I'm blue in the face and their still ignored, but the code itself shows what the standards are if people just took the time to look at it and left their egos at the door. There should be a new branch of psychology for programmers. So, is it possible that your use of underscores is because you feel inadequate with your partner? Are you placing fields willy-nilly in the class because you were bottle fed and lack the ability to empathize with your fellow human being? Do you use lowercase method names because you were taunted by your peers as a child? Marc
Check out Regionerate[^]. It re-orders all you class members, properties, methods etc, into a specified order. Supports with and without regions modes.
Simon
-
I have a few, but at the top of the list are using "this." to get Intellisense to trigger, which is an obsolete habit from older IDE's. My other is when people pay no attention to the structure of the code and put fields, properties, public and private methods into an unorganized pile of dung. Yes, obviously the compiler couldn't care less, but we're writing code for each other, and I like a certain structure to my classes. So, my other pet pieve is when people, who come into a project and should be humble and respectful to the work others have already done, totally ignore it, not just structure but naming conventions, indentation conventions, etc. I can write coding standards until I'm blue in the face and their still ignored, but the code itself shows what the standards are if people just took the time to look at it and left their egos at the door. There should be a new branch of psychology for programmers. So, is it possible that your use of underscores is because you feel inadequate with your partner? Are you placing fields willy-nilly in the class because you were bottle fed and lack the ability to empathize with your fellow human being? Do you use lowercase method names because you were taunted by your peers as a child? Marc
Marc Clifton wrote:
So, is it possible that your use of underscores is because you feel inadequate with your partner? Are you placing fields willy-nilly in the class because you were bottle fed and lack the ability to empathize with your fellow human being? Do you use lowercase method names because you were taunted by your peers as a child?
I do believe I have a man-crush now. Best. Comment. Ever.