tags:

views:

126

answers:

5

Hello,

I haven't been able to find this question here so here goes.

Is there any website / service that offers free (or at least cheap) code reviews?

There must be lots of people that write applications in their free time, to learn new skills and also as a recreational activity, how can these people ever know if they are doing something terribly bad or using the wrong functionality to get from point A to point B?

Is there some site that could cover the following?

  • You post your source code, or linked to hosted application
  • Others can review this, add comments/suggestions from both a users and developers perspective
  • You can comment on other peoples' comments to obtain the best possible solutions to problems

Maybe the site could have a reputation system like this, where you score up for helping with suggestions, afterall, if the reviews are free surely there should be something in it for the time invested?

Anyways, not to deviate, my question is

Where can I get free advice on my applications that I develop in my own time, so I can know where I'm introducing bad practices, and how to improve techniques?

EDIT: Forgot to add, in my case my project is a Java web application, which I'll have up on Google project hosting. An example of a good review would be DAO, maybe someone would spot that I'm using a terrible hibernate query and I could improve performance by doing it another way. Things like that are hard to pick up if you're doing this as a learning project (well, reading proper tutorials would help)

+3  A: 

run stylecop and fxcop if you're using C# and/or .net-based languages. For free, they offer suggestions on coding style and can detect SOME bad coding practices.

No Refunds No Returns
Thanks, that would provide a good "first line defence" so to speak, but I'm using Java web apps and not c#/.NET. ;)
James.Elsey
then use Findbugs, PMD, and checkstyle
matt b
+1, a practical answer that can be implemented, but it doesn't really review your code. Still I use it, time consuming, but worth it, especially as a contractor where your code is highly scrutinized.
JL
R# makes the time almost 0 to conform to stylecop's rules. I'm just a happy user.
No Refunds No Returns
+3  A: 

If you are not adverse to your code being in the public domain. Google code allows you to request a code review. No guarantee "who" will do the review though.

Kindness,

Dan

Daniel Elliott
I've meandered through the website and can't find what you had mentioned. Any way you could post a direct link?
Stevoni
You need to host a project and then look at it's source tab @Stevoni
Daniel Elliott
@Daniel - Ah, gotcha. I was hoping to be able to send in code to review without hosting. Thanks for the heads up though, I am interested in joining/starting a small open source project on there.
Stevoni
+4  A: 

I think that it would be hard to get people to contribute for free if they don't have some interest in the project. Taking time to review your code, design, etc., is work, and frankly I'm not sure that you would find a lot of people interested in taking the time to do this unless they had an interest in your project or it's source area.

I don't mean "interest" as just "financial interest" but rather a personal interest in the area of work and problems your application solves.

So my best advice would be to find a community of developers that would be interested in your software - perhaps because they would use your software themselves, they find the problem interesting, etc., and ask them to help review what you have. I think this would work well for a general and broad "Am I designing this right for my problem domain?" type questions.

For specific design or coding questions that someone could help you with without too much expertise in your problem domain, I still think StackOverflow is the best place for that.

matt b
+4  A: 

Go to your local user group and talk with others. For example, the local .NET user group around Madison, WI has a secondary meeting every month that we talk about what we're working on, present it (where we can) to others and solicit advice. Since it's a free-form meeting you know those that show up actually are devoted to software and generally good practices.

Agent_9191
+1  A: 

I would suggest finding a coding buddy or mentor. You could look at your local user group meeting, ACM meeting, or even post on Craigslist. There are a lot of great coders who could provide great insight.

Alternatively

If it's Open Source, get a project group going. Perhaps you could do an effort trade with an established project, that is you get someone to look at your project and you spend as many hours fixing bugs and filtering out the feature requests.

C. Ross