× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On 16-Nov-2011 10:13 , Voris, John wrote:
My own opinion is that a code review is nice, but designing or
retrofitting programs for *testability and* separation of UI
from logic has a better payoff in quality.

I second that. But I think a code review could concentrate on those ideas as well, with the same goal of quality improvement.

In my experience formal code reviews seemed to diminish in value, as perceived by the developers, mostly because of the tendency of the efforts to concentrate solely on the "functional" aspects of the code. In many scenarios, all who were involved in such reviews would tend to suggest there was little value and expressing little interest in such reviews, seemingly because everyone already "knows" that the code being reviewed already "works", irrespective the [il]legitimate rationale for that conclusion. Motivation for finding defects in something that is perceived to be functional is much more difficult than when either, the reviewers know the code does not work or nobody has figured out how to locate an origin for the apparent defect previously only identified by some failure and the associated error report\docs.

When reviews concentrate, instead of on functional aspects, on how the code could better enable [automated] testing or serviceability aspects, I think the outcomes from the reviews are generally better; better for all of: exposing existing defects [what a functional review intends foremost], identifying improvements to the implementation both functionally and testability\serviceability, and consideration for potential design enhancements. And for sure these same benefits also when reviewing code from the perspective of an intent to effect the decoupling of logic from the UI or from the mainline\monolithic code. That is, making actual changes is not necessary even if doing so might be very beneficial. Just by review of the code for the what and where such aspects could help, that alone could help to make a formal review worthwhile. Obviously without any actual changes, no improvements would result in software quality, however the reviewers are likely to both participate and gain more from the shift in focus for the process.

Although finding functional defects while reviewing for other than specifically the functional aspects of the code might not seem intuitive, actual attempts of such reviews as an alternative to the more typical functional reviews might prove fruitful. I believe I became a better reviewer by changing to look at the code in this way; finding misuse of parameters and variables, redundant coding, missed opportunity for caching, overlooked concurrency issues, and others, often things that I might never have found when concerned solely about the functional aspect. Although I admit I also became much more frustrated about the code, knowing that few if any changes aside from the strictest defect resolution would ever get implemented.

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.