For this assignment we were to use some automated Quality Assurance (Q.A.) tools on a previous group assignment, CodeRuler. Some of the Q.A. tools the class is using are checkstyle, pmd, and findbugs. After processing the CodeRuler code using the Q.A. tools and seeing the results, we were given the task of comparing those results with the results we got from our peers in another previous assignment.
Checkstyle showed most of the same results our classmates caught. A lot of the errors both caught were formatting errors, the use of 4 character indentations and exceeding 100 characters. One error that checkstyle found that our classmates did not find was some white spaces not preceding a squiggly bracket. The pmd results illustrated 2 types of errors that our peers did not find. The errors were to avoid using implementation types, ArrayList, but to use the interface instead, also to avoid using Avoid if (x != y) ..; else. The last Q.A. program was findbugs, which it did not find any errors at all.
Comparing all the results of the Q.A. programs to our peers, I see that there are some formatting errors that a human can miss that an automated program can find. Some of the recommended solutions that were suggested by pmd were good, but would increase the length of lines of the MyRuler code. Also the Q.A. programs could not discover some logical improvements, a peer saw that two methods were structurally the same and could have been combined to reduce methods. Another error our peer found was the use of single character variable representation. The use of Q.A. programs and manual reviewing both have their advantages and disadvantages, but I see that Q.A.s can pick up errors that a manual check might miss and that manual checks find logical and structural errors that Q.A.s won’t come across.
Tuesday, September 23, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment