Welcome to my blog.

Saturday, November 1, 2008

Software Review Part Deux

| |

After much time was spent re-working and changing the Due Dates [Team Gold] system to include new standards, Scheller and I were assigned to do a software review on Team Silver's Due Dates program, as well as have our system reviewed by Team Orange. This turned out to be a real eye opening experience for me, as I saw what other groups were capable of and what could be improved on our teams implementation. Since last weeks software review, I didn't really know what to expect since I was reviewing a new groups system.


REVIEW TEAM SILVER
Ronn Reeves and Robin Raqueno were the developers of this Due Dates system and it really was a pleasure reviewing their system. My first impression after viewing just their homepage was WOW. 
project-silver

I mean look at that page! Compared to what I saw last week in other projects and what my own project homepage looks like, I was blown away. This project was definitely portrayed in an informative and professional way. I loved this. But how did the actual code fair?

After downloading their source code and checking it all out, I was not surprised to see top notch code. Their package structure was organized nicely, as was their class structure. Everything functioned correctly and was done really well. I found their system could really be extended by anyone, even the user. This was because libraries were added through an xml file where the data for each library was held, and this could be updated. I was very impressed by this function. It really was a task to find anything serious to comment on in their code, but I found a few things here and there worth noting.

What was interesting was to see how this team implemented ArgParser, and open source command line parser, since we had also implemented that in our system. Not only did they implement the parser to work for correct arguments like -uhm 12345567 wolff, they made it work for arguments without the library declaration, something more like 12345567 wolff. This was a pretty cool thing I thought, since it would minimize user errors when adding command line arguments.

Overall, doing this review was really nice. It was intriguing to see how a top notch team implemented their system. I think I was able to help as well, if not with their actual code, but with their user/developer guides which were missing a few important things (Their results). In addition to all of this, I got some new ideas for our system.

TEAM ORANGE'S REVIEW ON OUR PROJECT
A review on our Due Dates system was really needed and luckily we had an excellent review team do it - Team Orange, Daniel Tian and Aric West. Our initial review page outlined everything we wanted to have reviewed and they responded to basically everything we asked for and more. I was expecting comments on our class structure, testing and a few other areas, but they found some things I would have never found on my own that were of equal importance. After refactoring our system to have the DueDates name instead of the DueDatesGold name, I forgot that this screwed up jar creation and basic building capabilities. They caught this. There were also some really great comments on the code itself. They gave some great suggestions on some general design issues that needed to be addressed.

I think it is so important to have others try to build and run your system, especially when your dealing with an Open Source Software development project. Many things like jar creation work perfectly on our computers where we've developed everything, but once someone else tries to do these things on another machine, there are errors. Having a review done like this is great for pointing out these errors.

GOOGLE PROJECT HOSTING REVIEW
Doing this review was fairly similar to doing it the last time. Adding comments to peoples code was easily done and check-out was easy. However, I found it much easier to read the comments on our system, as they are all logged on one overall page. Something funny that did happen though was when Daniel Tian did his review and half of his comments appeared on r39, while the others appeared on r40. We couldn't figure it out.

A function I would love google to implement is something that sends you the info about your review that you've done. I have no way of accessing the review I did on Team Silver's system. The only way would be to get a link from them. It could be made easier if that were automated, or if there was a dedicated page for it all.

Overall, this software review was a great experience for me. I sort of got inspired from looking at Team Silvers code, and Team Orange really gave our group some good ideas for improving our system.

0 comments: