Tuesday, January 25, 2011

Code Reviews

As an engineer coming from Google where every line of code is reviewed by another engineer before it is submitted, I had assumed that there would be a publicly available open source tool to help us facilitate code reviews in a similar fashion outside of the Googleplex. As it turns out, there are very few available and almost all are for doing code reviews post-commit. This includes the code review tool built into Google Code Hosting. Google Code recommends that you submit to a branch and then request a code review of the branch before merging into trunk. While that method certainly works, it's cumbersome and the overhead is too high. What inevitably ends up happening is nobody ends up requesting code reviews and the whole process gets dropped.

In my experience, the only way to make sure code reviews actually happen is to enforce it in your tools. But that's a post for another day. We don't enforce code reviews here at Adku because we don't feel that code reviews should be mandatory just yet for a three person startup, but you can bet that once we get bigger, we will.

Anyway, after hours of searching and experimenting with various tools, we settled on Rietveld which was developed by Guido van Rossum, author of Python and Mondrian. The problem with Rietveld, however, is that it doesn't work out of the box! It is meant to be run on appengine, but only supports Django 1.1 so you have to change your appengine setup to use Django 1.1 and this is not a trivial process. Moreover, if you run Rietveld on appengine, most of your changes will be available publicly with no way to restrict access to your internal team without diving in and modifying Rietveld source code.

In the end, after a bit of troubleshooting, we successfully got Rietveld up and running and even set it up internally to restrict access.

Now that it's up, it is beautiful, works great, and is exactly what we were looking for. Typical use looks something like this
  1. make some local edits
    $ vi my_source_code.py
  2. send the changes to carlos for code review
    $ python rietveld/upload.py --send_mail -r carlos
  3. carlos gets an email that looks like this
    Date: Thu, Nov 4, 2010 at 11:19 AM
    Subject: better demo (issue24)
    To: carlos@adku.com

    Reviewers: carlos,

    Please review this at http://rietveld:8000/24/

    Affected files:
  4. carlos clicks on the link and sees the unsubmitted changes in a web ui with change highlighting, syntax highlighting, and an inline commenting ui
  5. carlos enters a few comments inline with the changes and hits send
  6. i make the changes suggested and re-send the code
  7. he reviews again and hits approve
  8. i submit the pending change in my local client


  1. Reviewboard is also a nice one.

    1. Code reviews waste the time of at least two people per review, and there is more time lost while the developer and reviewer wait for comments from each other. Recently I gave a review on assignment help websites. They are the best assignment writing service provider in the United Arab Emirates.

  2. What post-commit tools did you find? Most of the ones I've looked at are pre-commit based.

    1. What post-commit tools did you find? Most of the ones I've looked at are pre-commit based. sami

  3. Here we present to introduce to all visitors in this great blog. and thank you for allowing me .

    cara menggugurkan kandungan
    obat aborsi
    tanda tanda kehamilan

  4. Exactly when numerous had just been persuaded that these machines were the best innovations in the field of check getting the money for, the possibility of online check changing was presented. aaa1autotitleloans.com/chicago

  5. Bluehost is an outstanding name and they're one of the organizations you're certain to meet when searching for a web facilitating supplier. A portion of their business ad spot looks pipe dream however in the event that lone the majority of it's wordpress website backups certifiable, that is OK on the grounds that the general bundle appears to be so great.

  6. thanks you the article really helped me. I hope the articles that are made are useful for all of us.

    Cara Mengobati Penyakit Thalasemia
    Cara Mengobati Penyakit Aritmia

  7. Thanks for sharing such a great blog... I am impressed with you taking time to post a nice info.
    Mobile App Development Company | Mobile App Development Company in Mumbai

  8. The author of this post is admirable, it brings a lot of emotion to everyone reading it, let's share it more widely. I enjoyed it, thanks for posting it, I hope this post of yours will be more appreciated by it really excellent.
    Jogo para menino, cá koi mini, friv at school 2019, friv Games for kids online

  9. Save your time with do my homework help in all possible subjects! Original, high quality assignments from top quality writers.

  10. Students find History Research Paper Services as being of great assistance since they are able to complete their history research paper writing services and history essay writing services on time.

  11. Finding the best online history research paper writing services and History Research Paper Services is not easy unless one is keen to establish a professional history assignment writing service provider & history coursework help online.

  12. Just admiring your work and wondering how you managed this blog so well. It’s so remarkable that I can't afford to not go through this valuable information whenever I surf the internet! If you're looking for the best Things to do in the world, this list has something for everybody! From adventure to culture, food to history .

  13. Psychology coursework writing services are not hard to come across for those in need of Psychology Research Paper Services and psychology assignment writing services.

  14. Broadcast emails like sales, events, announcements, newsletters, and blog posts can be easily sent to your list once you have this type of system in place.best t5 fat burners reviews

  15. That’s a nice article, thank you for a great article. It helped me a lot. Keep it up Must Visit panda klantendienst


  16. Thank you for your sharing. Thanks to this blog I can learn more things. Expand your knowledge and abilities. Actually the article is very practical. Thank you.If you are the one looking for technical help in Roadrunner Email then call us today at Roadrunner Support Number and get connected with our award-winning team of Roadrunner Email. They are capable of resolving the technical bugs and issues.

    Roadrunner Email Not Working
    Change Roadrunner Password
    Reset Roadrunner Password
    TWC Email Not Working
    RR Email Login Problems
    RR Email App Not Working
    Recover Forgot Spectrum Email Password
    Change Spectrum WiFi Password
    Forgot Spectrum WiFi Password

  17. Small Product Packaging Boxes are one of the most demanded packaging solutions. They are used to fulfil various purposes. Our soap boxes are one who fulfill your nends with our fast service.

  18. Thanks for sharing an informative post. I appreciate your hard work. Keep sharing with informative post.
    AT&T is one of the leading internet service providers in the United States and Canada. Apart from the Internet, AT&T also provides an email service to its users. Like any other email account, the AT&T webmail account is also secured by the user ID and password combination. It is obvious that a large number of users Change AT&T Email Password to keeps secure their email account.

  19. Thank you for sharing your article and I hope you will share some more information about this..keep sharing.

    یکی از بهترین کارها برای جلوگیری از مزاحمت حشرات، نصب توری روی پنجره ها و درب هاست. مسلماً جلوگیری از ورود حشرات با توری پنجره چسبی به داخل منزل خیلی راحتتر و بهتر از از بین بردن آن ها با روش های سمپاشی و استفاده از سموم است.
    این روزها اکثر افراد تمایل دارند که مدیریت و کنترل بیشتر کارهایشان را از طریق اینترنت دنبال کنند. اگر دوست دارید تا قیمت توری پنجره و همچنین قیمت نصب توری را بدانید، به شما توصیه می کنیم تا در وب سایت یا اپلیکیشن "خدمت از ما" سفارش نصب توری درب و پنجره را به رایگان ثبت کنید.

  20. bespoke packaging boxes At Bespoke Packaging UK we strongly believe in the interests of bespoke packaging, which has multiple benefits.

  21. سئو (SEO) عبارتست از بهینه سازی سایت برای بهتر دیده شدن توسط موتورهای جستجو. بهترین و جامع ترین تعریف سئو را در این صفحه بخوانید.

  22. Custom Printed Packaging Boxes with Logo in UK | Packaging Republic Get Custom Packaging Boxes with Logo in different sizes and styles at wholesale prices. Packaging Republic offers Custom Packaging Boxes with Free shipping and Free Design..cosmetic packaging | cosmetic packaging

  23. This comment has been removed by the author.

  24. Welldone Information. Thanks for sharing with us.
    Jio Digital Tower is one of the best solutions to install Reliance Jio tower on your land or roof. If you want to set up a Jio Tower but you have no idea How To Install A Jio Tower Don't worry, we will tell you step-by-step solutions for Jio tower installation. To know more details about Jio tower installation, visit the website.

  25. Such an Informative Post. Thanks for sharing with us. Keep sharing again with us.
    Are you looking for a dependable Gear Boxes Manufacturer in India? If that's the case, your quest has come to an end with us. Akshi Engineers Pvt. Ltd. can provide you with a high-quality, precision-engineered parallel helical gearbox that may be used in a variety of applications. With gearbox manufacturer India's goods, you may enhance torque, reduce or raise speed, rotate, reverse, or change the direction of the driveshaft in your industrial solutions. For more information, just call the toll-free number and visit our website.

  26. A very awesome blog post. We are really grateful for your blog post. You will find a lot of approaches after visiting your post.
    Hi! We are water treatment company in uae Great points made up above! And
    Drinking water Filter in Dubai UAE thanks…
    I think this is one of the most important information for me. And i am glad reading your article. But should remark on few general things…

  27. Amazing!, Thanks for sharing your ideas & your efforts with us and especially for giving us priced features information.
    India is a vibrant country full of astonishing contrasts where the old and the contemporary world collide. Everyone wants to visit all the best Places To Visit In India in your budget. To know more details about affordable holiday packages and offers, visit our website.

  28. Wow! what a information? I am really glad to read your post. Thanks for sharing everyone.
    Getting a Cash App Refund is not easy After making an unwanted payment to another person. If your mind is stuck on how to get your money returned from the cash app then you may call our cash app support team for immediate assistance.

  29. It is meant to be run on appengine, but only supports Django <a href='https://www.essaychamp.co.uk/write-my-essayWrite My Essay Uk</a> so you have to change your appengine setup to use Django.

  30. It is meant to be run on appengine, but only supports Django Write My Essay Uk so you have to change your appengine setup to use Django.

  31. Easy tips to get Cash app free money code without human verification:
    Most cash app users wish to find the easy tips to get a Cash App Free Money Code Without Human Verification. Such an aspect is the most imperative factor to keep going in the right direction of the techniques. However, cash app users will need to refer to their known people for the downloading process of the cash app by using their referral code. This process will help them make money if that person successfully signs up for the account.

  32. Slots - Party & Table Games | TrickTactoe
    Play slots online with 벳익스플로어 friends, and 바둑 토토 넷마블 people. 꽁 머니 사이트 The table 안전한 놀이터 game brings together friends, family and 파워볼 돈버는법 벳무브 the players in a classic game of blackjack.

  33. I really like people like you who have written an amazing blog for us.
    Hot Delhi Models

  34. The post is very well written and has a lot of useful information for me.