Code Review.SE is great when you need feedback on a precise, short piece of code.

But where to get similar feedback about the code itself when:

you have thousands of LOC,

don't have colleagues in your workplace ready or willing to review the code¹,

don't have thousands of dollars to spend for a professional review by a third party developer?²

Places like CodePlex are a good idea to get your project known³, but from what I've seen, the feedback you get on known projects are consumer feedback, i.e. concerns the bugs and feature requests, not the quality of the source code itself.

What are the social way to get the community involved in the code review of the codebase of a certain size for an open source project which doesn't have the scale of Firefox or similar products?

¹ Which is the case for most personal and open source projects, or projects done in companies where the practice of regular and complete code review is nonexistent.

² Which is, again, the case for most personal and open source projects.

³ Even if too many projects published on CodePlex never get known, either because nobody cares or because they are presented not very well.

What makes your project interesting enough for others to want to look at it?
–
user1249Jun 24 '12 at 21:05

@Thorbjørn Ravn Andersen: even with interesting enough projects, the problem remains. StyleCop on CodePlex, for example, is undoubtedly interesting, but still the issue tracker is full of "consumer feedback": bug reports and feature requests, nothing related to code review.
–
MainMaJun 24 '12 at 22:10

3 Answers
3

There isn't a social-media way to get people to drop hours of their time into reviewing code for some random project... or to do anything else, for that matter. Minutes you can have, hours not so much.

So, you've got two possiblities:

1) Break it into minutes-long chunks. You do NOT need ALL of your thousands of lines of code reviewed. Extract the bits that matter most and ask for review of one or two of those. You'll probably get some kind of general style/don't-do-that/name-things-like-this comments, which you can then apply to the whole of the codebase. If you have a LOT of bits... well, prune more, and maybe ask for review of one or two per week, and iterate based on the commentary you get back. When all the comments are things you've seen before and decided not to change anyway, you're done.

2) Make the project important to people. I don't think you can actually do this, but if you have code that really will solve the Greek financial crisis, you win.

I think there are two parts to your question -
First, where can you post the advertisement requesting the review.
Second, how to find folk that are willing to put in the amount of time to perform the review.
They are related, but subtly different.

The second might be easier than the first to answer - both the P.SE and CR.SE communities ought to have folk that would be willing to step up and help out with that. Personally, I find that I almost always learn something from a review, so I find them rewarding. Motivations vary, so if it's an interesting area of code that may help in identifying someone or several folk.

The first is not as easy to answer. P.SE is out as the request doesn't meet the Q&A format. CR.SE doesn't seem well suited for things either unless you broke things up into smaller chunks (modules / functions) and had a helluva lot of posts. Offhand, I don't know of any sites where you could post that sort of a request. If the SE system had an person-to-person mailing system, that might be one way of recruiting, but I'm riffing there.

Given that an out-of-band review of several thousand loc will take a while, I would encourage patience in the process.

In short, you just have to find a fellow developer who is willing to perform the review.

I would take a first stab using something like stylecop and fxcop or equivalents for your language. Next, you can document the architecture and get feedback on that very quickly. Finally you could take some troublesome snippets or a few classes and ask a dev to go over it with you instead of the entire code base. Provided you didn't change code style all over, a few classes should give some insight into the code base as a whole.