It is a matter of style...
Today I freaked out two co-workers by looking at their code and saying (respectively) "How long have you worked with C?" and "You didn't get a lot of time with C++, right?"
The pieces of code in question were: (for the C comment)
Customer customer = null for(int i=0;i<array.Length;i++) { customer = new Customer(); //do stuff }
And: (for the not a lot of time in C++ comment)
int totalCarCount; if( IsValid ) { totalCarCount = GetValidTotalCars(); } else { totalCarCount = GetInvalidTotalCars(); } int totalWheelCount; DoComplexWheelCalculation( out totalWheelCount);
And yes, the examples here are fake, and both are good developers, and I just said what came to mind first :-)
Comments
As an enthusiatic young developer, I dont suppose you would kindly point out why you made the comments?
I confess I'm naive and dont see the issue with the code samples :)
There isn't any issue with the code samples. :-D
C programmers tend to put declarations at the top of the function, basically.
Actually, Classic Basic coders do that too.
/Mats
as a person who is raised with assembler and C, I had to look very carefully before I saw the issue :) (I first thought: it's the 'GetValid/InvalidTotalCars method which should 1 method with a parameter ;)). It's indeed something one has to work on really hard to get rid of, it took me several years before I got used to declare things when I first needed them instead of at the top of the method.
And then you run into a try/finally clause and you have to declare the variable OUTSIDE the try to be able to access it in the finally block :(
there was a spell a few years back where i was contributing to an opensource project (in c), consulting on a Delphi project (Pascal), while doing C# for some personal work.
needless to say, it was confusing keeping my code from looking confused...
For the C++ comment, is it because he didn't use the ternary operator?
Or because he used an output parameter instead of a return value?
That was for the NON C++ comment, actually, and it was the variable placing that gave the hint.
Comment preview