|
My companies code review is kind of a joke. We have a few people that are supposed to be doing code reviews but not all of their time is dedicated to do so. Many times, our code reviewers are fully booked in a month so they barely even have time to look at others code. I have heard our code reviewers say that they actually learn a lot more being on the review team than actually doing the project. (That is, if they have time to check it over).
Brett A. Whittington
Application Developer
|
|
|
|
|
Sure, "pre-runtime" tools are quite useless.
|
|
|
|
|
I currently use lint.
When I check my big project the file that generates most errors is GridCtrl.cpp
I found it somewhere on codeproject
Michel Wassink
We must make user friendly software. Where are friendly users?
|
|
|
|
|
|
I wonder if Micrsoft realizes just how useful the CListCtrl class has become? I think the author should get a special bonus!
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
|
|
|
|
|
|
No you are not. Mind the spelling
But maybe you are related.
|
|
|
|
|
But didnt see any CListCtrl in the optional section.
-prakash
|
|
|
|
|
|
toxcct wrote:
it an old friend...
I know
-prakash
|
|
|
|
|
having just spent days getting our "cross platform" code to compile on a UNIX box any lingering faith in the "it compiles so it is fine" theory has disapeared.
since there is a limited budget for such tools any advice on a free or open source C++ tool would be appreciated
in the mean time i try to practice careful programming, combined with testing as i go along.
zen is the art of being at one with the two'ness
|
|
|
|
|
If your code is C++, I'm afraid you're probably out of luck (though there is Splint for 'C', as I mentioned above) unless you are running VS2005 - in which case you have access to PREfast.
I think Gimpel have pretty much got the market for C++ Lint tools pretty much to themselves.
Anna
Riverblade Ltd - Software Consultancy Services
Anna's Place | Tears and Laughter
"Be yourself - not what others think you should be"
- Marcia Graesch
"Anna's just a sexy-looking lesbian tart"
- A friend, trying to wind me up. It didn't work.
|
|
|
|
|
I have to use Lint but it is a bit slow. We use it for C++, ATL, MFC and QT. Sometimes I learn from Lint to get a better programmer. If I do not understand a message then I look in good C++ book and get an answer for that problem.
*** Fast Prototyping ***
|
|
|
|
|
Yep, that's our experience too.
As far as speed goes we analyse our projects in the background while we're working so it's less of an issue.
Anna
Riverblade Ltd - Software Consultancy Services
Anna's Place | Tears and Laughter
"Be yourself - not what others think you should be"
- Marcia Graesch
"Anna's just a sexy-looking lesbian tart"
- A friend, trying to wind me up. It didn't work.
|
|
|
|
|
How much time would it take for you to spot the same problems?
It doesn't matter if it's slow, if a tool took a whole month of processing to pinpoint problems in my code, I'd run it.
I don't see dead pixels anymore...
Yes, even I am blogging now!
|
|
|
|
|
Are there any free tools out there?
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
FxCop, for example, is free.
it's even integrated into VS.NET 2005
|
|
|
|
|
i was under the impression that FxCop was for C# only. certainly i have used it on C#, but i would not expect it to work on run of the mill C++ code.
however i would love to be proved wrong on this point
zen is the art of being at one with the two'ness
|
|
|
|
|
C++!!
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
Eclipse have some good C/C++ tools too !!!
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
I don't know of any free lint tools for C++. There is of course Splint[^], but that's C only. AFAIK PC-Lint (which we use) was developed from the same ancestral code.
If you are planning to move to VS2005 there is PREfast[^], of course.
Anna
Riverblade Ltd - Software Consultancy Services
Anna's Place | Tears and Laughter
"Be yourself - not what others think you should be"
- Marcia Graesch
"Anna's just a sexy-looking lesbian tart"
- A friend, trying to wind me up. It didn't work.
|
|
|
|
|
Hello,
I don't use a tool that tells me that my variable names are wrong or something similar. No I review my code (if possible, I let someone else do that). This keeps the mind sharp and lets you think a little bit more before you write some code.
In my experiance, when you use such a tool, you try to make the tool happy. This is not always right, especially when you use an uncommon language construct.
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
Hey man, take it easy, there is nothing wrong using a tool to help one's own job
Anyway I tryed FxCop once, gives me plenty of stupid error.
Never bothered to use it again.
Maybe I will give a new go one of these day...
|
|
|
|
|
Many of the rules in FxCop are silly (naming etc.), but the globalization rules are pretty important.
string text = "This is a test.";
Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR"); // simulate Turkish system
Debug.WriteLine(text.ToUpper());
Debug.WriteLine(text.ToUpper(CultureInfo.InvariantCulture));
This does print:
THİS İS A TEST. (note the dot above the İ)
THIS IS A TEST.
If you are using something like 'Path.GetExtension(fileName).ToUpper() == ".GIF"', it won't work on Turkish systems!
FxCop really helps to check for cases like this. In the GetExtension example, it would yield two errors: no CultureInfo specified and you can save the string allocation by using .Equals(".GIF", StringComparison.InvariantCultureIgnoreCase).
|
|
|
|
|
interesting insight...
I might probably give it a new try....
|
|
|
|