
I looked at the webpage and it looks very, very good. I will check it out as soon as I can, and play with it a bit before trying to “sell” it in my job, but I am pretty confident it will be well received. As a plus, It has people from a recognized company behind it: VMWare. And, another plus for me: it is made in Python, using Django.
I am very interested, because I did something related in the past, using the very same development platform. Before being abducted by the company to do management tasks, I was playing with a pet project to do code browsing, reviewing and project planning, where code review was the first focus. It is called “codeflow”

I left it practically abandoned when my position in the company changed: I had no way to eat my own dogfood anymore. Before that, back in April, I managed to get a working prototype wich did fancy diffs, code highlighting and worked against our subversion repository, although it was not very polished:

We tested the prototype and it showed to be very useful, for real projects. Even
now, one or two months ago, the main engineering team (I am into research and development right now) wanted to put that prototype into production. But I was not sure it was a good idea.
I believe in “release early, release often”. But without enough time to actually release anything, it would be quite difficult to do it often.
So I am now going to push Review Board, as a working product, instead of my rough prototype. As far as I can see, the ideas for codeflow about code reviews were not any bad. I will still miss the integrated concept which I envisioned for codeflow back in April, but I will not miss the reviewing platform anymore.
And it is done on Python/Django. I am familiar and proficient with both. I am still looking forward to do something with the ideas behind codeflow (not limited to code reviewing), and Review Board looks like a great place to start.


4 comments:
Hi Leonardo,
Nice post! Your "codeflow" product looks good too -- nice and clean.
Although we sell the leading commercial code review tool that Review Board competes with, our company philosophy is "any code review is better than no code review." So it's nice to see folks like you picking up that tool or even writing your own.
Since you obviously have spent time thinking about tool-based code review and its relationship to other parts of the dev process, I would also value your opinion about our tool, even if it's not on the blog.
Thanks again for helping spread the code review love!
Thanks for the comment Jason.
About CodeCollab: I have seen it in the past, but not too deeply.
As far as I can see, it is much more appropriated for "synchronous" code reviews, where the involved developers are all working on the review at the same time. I tend to prefer a most asynchronous workflow, so ReviewBoard looked like a better fit for my problem, even if it is not as mature as CodeCollab.
I am currently fixing some rough edges of ReviewBoard before doing the whole "selling" of it. That brings in another important point: On a quick glance, I do not see anything about CodeCollab's extensibility on its web site.
Anyway, if everything works as I expect, we will be on the "people who do code reviews" side of the industry, and will be able to evaluate CodeCollab (or other commercial tools) with a greater level of detail and a bit of experience on the subject.
Hi Leo:
I try install codeFlow in windows
but in
>python manage.py runserver 8080
Error: No module named codeflow
which is the problem??
I comment this lines
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
# 'codeflow.core',
# 'codeflow.planner',
# 'codeflow.browser',
# 'codeflow.reviewer'
)
and server up correcty but in the browser show this error
Traceback (most recent call last):
File "c:\Python25\Lib\site-packages\django\core\servers\basehttp.py", line 277, in run
self.result = application(self.environ, self.start_response)
File "c:\Python25\Lib\site-packages\django\core\servers\basehttp.py", line 634, in __call__
return self.application(environ, start_response)
File "c:\Python25\Lib\site-packages\django\core\handlers\wsgi.py", line 228, in __call__
self.load_middleware()
File "c:\Python25\Lib\site-packages\django\core\handlers\base.py", line 40, in load_middleware
raise exceptions.ImproperlyConfigured, 'Error importing middleware %s: "%s"' % (mw_module, e)
ImproperlyConfigured: Error importing middleware codeflow.browser.middleware: "No module named codeflow.browser.middleware"
PD: I use database sqlite3
Thank's
Sorry for my English
@victor:
Short answer: Don't use codeflow: it's unmaintained.
ReviewBoard, on the other hand, has a vibrant community and continuous development. In fact, I think that ReviewBoard works OK with Django 1.0. [And I had the chance to meet the core developers on the past DjangoCon, and I've to say that they are quite smart]
Post a Comment